React打包注意事項(xiàng)及靜態(tài)文件服務(wù)搭建

1. 打包完后index.html的路徑問(wèn)題

如果不特意配置的話拴疤,默認(rèn)打包完后打開(kāi)index.html頁(yè)面是錯(cuò)誤的簸州,因?yàn)樗皇且粋€(gè)完整的頁(yè)面鹏秋,所有依賴路徑獲取的文件(.js||.css等)都not found .

打包前在package.json文件里添加一個(gè)配置:"homepage":".",究履,打包之后資源文件路徑前面都會(huì)加上一個(gè)點(diǎn),然后在執(zhí)行npm run build

{
  "name": "xxx",
  "version": "0.1.0",
  "private": true,
  "homepage":".",
  "dependencies": { ....
  }

打包過(guò)程及執(zhí)行成功:

> xxx@0.1.0 build /home/fantj/Data/WebstormProjects/xxx
> react-scripts build

Creating an optimized production build...
Compiled with warnings.

./src/pages/login/store/actionCreators.js
  Line 2:  'fromJS' is defined but never used  no-unused-vars

Search for the keywords to learn more about each warning.
To ignore, add // eslint-disable-next-line to the line before.

File sizes after gzip:

  86.58 KB  build/static/js/1.37179901.chunk.js
  9.62 KB   build/static/js/main.a132d79f.chunk.js
  763 B     build/static/js/runtime~main.229c360f.js

The project was built assuming it is hosted at the server root.
You can control this with the homepage field in your package.json.
For example, add this to build it for GitHub Pages:

  "homepage" : "http://myname.github.io/myapp",

The build folder is ready to be deployed.
You may serve it with a static server:

  npm install -g serve
  serve -s build

Find out more about deployment here:

  http://bit.ly/CRA-deploy

2. 靜態(tài)的服務(wù)器搭建

安裝serve

sudo npm install serve
完事后注意設(shè)置node環(huán)境變量驹饺,不然執(zhí)行serve時(shí)會(huì)報(bào)錯(cuò)bash: serve: command not found,這是因?yàn)槟惚镜貨](méi)有node的環(huán)境變量肺樟,需要手動(dòng)添加一下,提示:npm prefix -g可以查看node安裝路徑逻淌。

[fantj@localhost xxx]$ serve -v
10.1.1
啟動(dòng)服務(wù)

By default, serve will listen on 0.0.0.0:5000 and serve the current working directory on that address. 默認(rèn)啟動(dòng)5000端口而且暴露當(dāng)前的目錄。

單單執(zhí)行serve:

會(huì)將本地目錄暴露到服務(wù)中疟暖。

[fantj@localhost ~]$ serve

   ┌──────────────────────────────────────────────────┐
   │                                                  │
   │   Serving!                                       │
   │                                                  │
   │   - Local:            http://localhost:45265     │
   │   - On Your Network:  http://127.0.0.1:45265     │
   │                                                  │
   │   This port was picked because 5000 is in use.   │
   │                                                  │
   │   Copied local address to clipboard!             │
   │                                                  │
   └──────────────────────────────────────────────────┘

訪問(wèn)http://localhost:45265:


這是我本地的目錄卡儒,局域網(wǎng)可以訪問(wèn)~用途自己腦補(bǔ)~

如果需要構(gòu)建該目錄下的指定項(xiàng)目:

serve -s build

[fantj@localhost xxx]$ serve -s build/

   ┌───────────────────────────────────────────────┐
   │                                               │
   │   Serving!                                    │
   │                                               │
   │   - Local:            http://localhost:5000   │
   │   - On Your Network:  http://127.0.0.1:5000   │
   │                                               │
   │   Copied local address to clipboard!          │
   │                                               │
   └───────────────────────────────────────────────┘

然后訪問(wèn)http://localhost:5000 則會(huì)跳轉(zhuǎn)到index.html 頁(yè)面。官方是這么介紹的Rewrite all not-found requests to index.html,意思是不管index.html是否存在俐巴,它都會(huì)去映射該文件骨望。

拓展

其它serve的可選參數(shù)。

 -v欣舵, - version顯示當(dāng)前版本的服務(wù)
 -d擎鸠, - debug顯示調(diào)試信息
  -c, - config指定`serve.json`的自定義路徑
  -n缘圈, - no-clipboard不要將本地地址復(fù)制到剪貼板
-l , 指定要監(jiān)聽(tīng)的URI端口

[fantj@localhost xxx]$ serve -l 55555
   ┌────────────────────────────────────────────────┐
   │                                                │
   │   Serving!                                     │
   │                                                │
   │   - Local:            http://localhost:55555   │
   │   - On Your Network:  http://127.0.0.1:55555   │
   │                                                │
   │   Copied local address to clipboard!           │
   │                                                │
   └────────────────────────────────────────────────┘

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末劣光,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子糟把,更是在濱河造成了極大的恐慌绢涡,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,525評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件遣疯,死亡現(xiàn)場(chǎng)離奇詭異雄可,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)数苫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)聪舒,“玉大人,你說(shuō)我怎么就攤上這事虐急∠洳校” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,862評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵戏仓,是天一觀的道長(zhǎng)疚宇。 經(jīng)常有香客問(wèn)我,道長(zhǎng)赏殃,這世上最難降的妖魔是什么敷待? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,728評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮仁热,結(jié)果婚禮上榜揖,老公的妹妹穿的比我還像新娘。我一直安慰自己抗蠢,他們只是感情好举哟,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,743評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著迅矛,像睡著了一般妨猩。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上秽褒,一...
    開(kāi)封第一講書(shū)人閱讀 51,590評(píng)論 1 305
  • 那天壶硅,我揣著相機(jī)與錄音,去河邊找鬼销斟。 笑死庐椒,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的蚂踊。 我是一名探鬼主播约谈,決...
    沈念sama閱讀 40,330評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼犁钟!你這毒婦竟也來(lái)了棱诱?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,244評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤特纤,失蹤者是張志新(化名)和其女友劉穎军俊,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體捧存,經(jīng)...
    沈念sama閱讀 45,693評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡粪躬,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,885評(píng)論 3 336
  • 正文 我和宋清朗相戀三年担败,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片镰官。...
    茶點(diǎn)故事閱讀 40,001評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡提前,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出泳唠,到底是詐尸還是另有隱情狈网,我是刑警寧澤,帶...
    沈念sama閱讀 35,723評(píng)論 5 346
  • 正文 年R本政府宣布笨腥,位于F島的核電站拓哺,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏脖母。R本人自食惡果不足惜士鸥,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,343評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望谆级。 院中可真熱鬧烤礁,春花似錦、人聲如沸肥照。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,919評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)舆绎。三九已至鲤脏,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間吕朵,已是汗流浹背凑兰。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,042評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留边锁,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,191評(píng)論 3 370
  • 正文 我出身青樓波岛,卻偏偏與公主長(zhǎng)得像茅坛,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子则拷,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,955評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容