此文章是翻譯How to develop apps bootstrapped with Create React App 官方文檔html
你能夠經過在shell中設置環境變量或.env來調整各類開發和生產設置。node
Variable | Development | Production | Usage |
---|---|---|---|
BROWSER | ![]() |
![]() |
默認狀況下,Create React App 將打開默認系統瀏覽器,在Mac OS上支持Chrome。 指定瀏覽器來覆蓋此行爲,或將其設置爲none 以徹底禁用它。 |
HOST | ![]() |
![]() |
默認狀況下,開發Web服務器綁定到localhost 。 你可使用此變量來指定不一樣的主機。 |
PORT | ![]() |
![]() |
默認狀況下,開發Web服務器將嘗試在端口3000上偵聽或提示你嘗試下一個可用端口。 你可使用此變量來指定不一樣的端口。 |
HTTPS | ![]() |
![]() |
當設置爲 true 時, Create React App 將以https 模式運行開發Web服務器。 |
PUBLIC_URL | ![]() |
![]() |
Create React App 假定你的應用程序託管在Web服務器的根目錄或在package.json (homepage )中指定的子路徑。 一般,Create React App 忽略hostname。 你可使用此變量強制將資源逐字引用到你提供的URL(包含hostname)。 當使用CDN託管你的應用程序時,這可能特別有用。 |
CI | ![]() |
![]() |
當設置爲true 時, Create React App 將警告視爲構建中的失敗。 它也使test runner 處於非觀察者模式. 大多數CI 默認設置此標誌。 |
npm start
doesn't detect changes當npm start
運行時保存文件,瀏覽器將刷新更新的代碼。
若是沒有發生這種狀況,請嘗試如下解決方法之一:react
index.js
的文件,而且你經過文件夾名稱引用它,則須要從新啓動觀察者,這是Webpack錯誤致使的。.env
文件,若是它不存在,並向其添加CHOKIDAR_USEPOLLING=true
。這樣能夠確保下次運行npm start
時,觀察者會根據須要在VM中使用輪詢模式。若是這些解決方案沒有幫助,請在此主題中留下評論。webpack
npm test
hangs on macOS Sierra若是你運行npm test
,而且控制檯在打印react-scripts test --env=jsdom
以後卡住,則多是你的Watchman安裝問題,如facebookincubator/create-react-app#713https://github.com/facebookincubator/create-react-app/issues/713中所述。git
咱們建議你先刪除項目中的node_modules
並運行npm install
(或者yarn
若是你使用的話)。 若是沒有幫助,你能夠嘗試如下問題中提到的許多解決方法之一:github
據悉,安裝Watchman 4.7.0或更新版本能夠解決此問題。 若是你使用Homebrew,則能夠運行這些命令來更新它們:web
watchman shutdown-server brew update brew reinstall watchman
你能夠在Watchman文檔頁面上找到其餘安裝方法。shell
若是仍然沒有幫助,請嘗試運行launchctl unload -F ~/Library/LaunchAgents/com.github.facebook.watchman.plist
。macos
還有報告說,卸載Watchman能夠解決問題。 因此若是沒有其餘幫助,請從系統中刪除它,而後重試。npm
npm run build
silently fails據報道,在沒有swap space的機器上,npm run build
可能會失敗,這在雲環境中很常見。 若是症狀匹配,請考慮爲構建的機器添加一些swap space,或在本地構建項目。
npm run build
fails on Heroku這多是文件名大小寫敏感的問題。 請參閱本節。