1. 程式人生 > >React專案如何打包釋出及遇到的坑

React專案如何打包釋出及遇到的坑

        使用React開發有一段時間了,下面我就把自己一些心得體會分享給大家。我使用的是create-react-app腳手架生成的專案,這個腳手架一鍵生成react專案,非常方便,先簡單記錄一下這個新建專案的過程。

一、打包

在專案路徑下,敲npm run buil,就出現了build資料夾,同時終端顯示這些文字:


大致意思是:已經編譯好啦。build生成的這些東西要放在伺服器root下,可以在pakege.json裡,根據綠字裡的例子,再重寫。也能讓它充當靜態的伺服器,敲:npm install -g serve,在敲serve -s build,就可以了。

二、釋出

1、你必須把build裡的檔案直接放到應用伺服器的根路徑下,比如,你的伺服器IP是172.16.38.253,應用伺服器埠為8080,你應該保證http://

172.16.38.253:8080這種訪問方式,訪問到的是你的build下的檔案。如果你希望以http://172.16.38.253:8080/build/index.htm這種方式訪問應用,那麼你可以在package.json檔案中增加一個homepage欄位,如下:

"homepage": ".",

如果是跟後端整合一塊部署,可以參考我的這篇文章:

2、安裝serve靜態伺服器:在你本地安裝serve,然後用serve來託管你build後的資源,也就是把build後的檔案部署到了serve裡,然後你就可以通過localhost:port的方式訪問了。

三、遇到的坑

1、安裝使用

npm install -g create-react-app

2、生成新專案

create-react-app my-app

(生成的專案最好不要用駝峰式命名,否則後面生成檔案提示也會讓你改)

3、進入專案目錄並預覽

cd my-app

npm start

接下來就可以在你的瀏覽器中看到效果

用create-react-app腳手架生成的目錄簡單,沒有多餘的檔案。

但是在打包的時候遇到一點小問題,npm run build後該專案會生成一個build檔案,但是我點選其中的index.html檔案開啟後瀏覽器是空白頁面,這是報的錯:


解決辦法:在package.json配置檔案中加一句:"homepage": ".",


這是build之後的路徑問題,改為相對路徑後再次開啟這個index.html檔案就可以正常瀏覽了。