av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

一天一夜,寫完了這份高效組織NpmScript優(yōu)秀實踐

本文轉(zhuǎn)載自微信公眾號「全棧成長之路」,作者山月行。轉(zhuǎn)載本文請聯(lián)系全棧成長之路公眾號。

成都創(chuàng)新互聯(lián)公司是一家專注于網(wǎng)站建設、成都做網(wǎng)站與策劃設計,沐川網(wǎng)站建設哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設10余年,網(wǎng)設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:沐川等地區(qū)。沐川做網(wǎng)站價格咨詢:18982081108

用了兩天,終于把這篇文章趕完了。有興趣的可以加我微信好友 shanyue94 進行交流。這篇文章也可以在山月的博客上找到,正文開始

眾所周知,一個 Javasript 項目的腳本類工具,可以使用 package.json 中的 scripts 字段來組織,簡單來說,這就是 npm script。

最典型最常用約定俗成的一個是 npm start,用以啟動項目:

 
 
 
 
  1.   "scripts": { 
  2.     "start": "next" 
  3.   } 

約定速成的還有很多,如下所列

  • npm install
  • npm test
  • npm publish
  • ...

約定速成的親兒子腳本自然和其它第三方腳本不一樣,如果需要執(zhí)行它,直接使用 npm 前綴即可,如 npm start,那其它腳本呢?那就需要 npm run 前綴了。而 yarn 就沒這么多講究了,一視同仁。

 
 
 
 
  1. $ npm run  
  2. $ npm run-script dev 
  3.  
  4. # 為了簡單方便,等同于 
  5. $ npm run dev 
  6.  
  7. # yarn 
  8. $ yarn dev 

以上是眾所周知的,以下講一講有可能不是眾所周知的

運行: npm run dev 與 npm start 的區(qū)別

對于一個「純生成靜態(tài)頁面打包」的前端項目而言,它們是沒有多少區(qū)別的:生產(chǎn)環(huán)境的部署只依賴于構(gòu)建生成的資源,更不依賴 npm scripts??梢?如何部署前端項目[1]。

使用 create-react-app 生成的項目,它的 npm script 中只有 npm start

 
 
 
 
  1.   "start": "react-scripts start", 
  2.   "build": "react-scripts build", 
  3.   "test": "react-scripts test", 
  4.   "eject": "react-scripts eject" 

使用 vuepress 生成的項目,它的 npm script 中只有 npm run dev

 
 
 
 
  1.   "dev": "vuepress dev", 
  2.   "build": "vuepress build" 

在一個「面向服務端」的項目中,如 next、nuxt 與 nest。dev 與 start 的區(qū)別趨于明顯,一個為生產(chǎn)環(huán)境,一個為開發(fā)環(huán)境

dev: 在開發(fā)環(huán)境啟動項目,一般帶有 watch 選項,監(jiān)聽文件變化而重啟服務,此時會耗費大量的 CPU 性能,不宜放在生產(chǎn)環(huán)境

start: 在生產(chǎn)環(huán)境啟動項目

在 nest 項目中進行配置

 
 
 
 
  1.   "start": "nest start", 
  2.   "dev": "nest start --watch" 

運行:Script Hooks -> 如何把新項目快速跑起來

新人入職新上手項目,如何把它跑起來,這是所有人都會碰到的問題:所有人都是從新手開始的。

有可能你會脫口而出:npm run dev/npm start,但實際工作中,處處藏坑,往往沒這么簡單。

  1. 查看是否有 CI/CD,如果有跟著 CI/CD 部署的腳本跑命令
  2. 查看是否有 dockerfile,如果有跟著 dockerfile 跑命令
  3. 查看 npm scripts 中是否有 dev/start,嘗試 npm run dev/npm start
  4. 查看是否有文檔,如果有跟著文檔走。為啥要把文檔放到最后一個?原因你懂的

但即便是十分謹慎,也有可能遇到以下幾個叫苦不迭、浪費了一下午時間的坑:

  1. 前端有可能在「本地環(huán)境啟動時需要依賴前端構(gòu)建時所產(chǎn)生的文件」,所以有時需要「先正常部署一遍,再試著按照本地環(huán)境啟動 (即需要先 npm run build 一下,再 npm run dev/npm start)」。(比如,一次我們的項目 npm run dev 時需要 webpack DllPlugin 構(gòu)建后的東西)
  2. 別忘了設置環(huán)境變量或者配置文件

因此,設置一個少的 script,可以很好地避免后人踩坑,更重要的是,可以避免后人罵你

 
 
 
 
  1.   "scripts": { 
  2.     "start": "npm run dev", 
  3.     "config": "node assets && node config", 
  4.     "build": "webpack", 
  5.     // 設置一個 dev 的鉤子,在 npm run dev 前執(zhí)行,此處有可能不是必須的 
  6.     "predev": "npm run build", 
  7.     "dev": "webpack-dev-server --inline --progress" 
  8.   } 

Hooks

在 npm script 中,對于每一個命令都有 Pre/Post 鉤子,分別在命令執(zhí)行前后執(zhí)行

 
 
 
 
  1. npm run