使用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": ".",
如果是跟后端集成一塊部署,可以參考我的這篇文章:
Spring Boot之如何配置靜態資源的地址與訪問路徑
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文件就可以正常瀏覽了。