npm 執行腳本

熟悉?vue || npm?的童鞋都知道,nodejs腳本執行的任務大多都寫在package.json中,如下圖所示。不過npm的作用不僅如此,利用好之后能夠很強的提高工作效率(有時候所謂提高效率也就是人懶,就得想辦法讓機器多做點事兒)。


執行腳本任務

node.js有兩個特殊腳本任務 ?start ?test,執行這兩個任務可以簡寫的方式

npm run start? == npm start //# 執行"start"指定的腳本

npm run test == npm test //

其他任務不可省略,務必以 npm run 方式執行

npm run dev ? ? //開發環境啟動vue

npm run build ? ? //打包生產環境需要文件

組合腳本任務

管道(|) || 串行(&)

熟悉gulp的都知道,gulp任務的執行類方式?管道、流?的方式,比如處理sass文件,首先將sass轉換成css文件,再對css文件進行補全,之后進行壓縮,然后重命名,最后輸出到預設目錄中。簡單說就是一個任務完成之后再繼續下一個任務。

當我們在執行腳本任務時可能也會有這樣的需求,比如之前寫過的?vue.js(SCP2)打包后自動上傳到服務器?中,我直接將上傳的任務寫在?build.js?中,雖然能達到預想的目的,不過仔細想想這種處理方式還是不太合理(并不是每次打包后都會將服務端的文件覆蓋),所以更好的方式將上傳的代碼單獨寫在一個文件中,然后在package.json中添加一個任務。

"scp_testServer": " node build/build.js | node scp/testServer.js" //管道的方式

"scp_testServer": " node build/build.js?&&?node scp/testServer.js" //串行的方式

并行 (&)

有時候我們需要并行地執行多個命令的功能。此時使用并行符號(&)可以把子命令作為后臺任務并行執行。

"scripts": {

// 并行地執行watch-js,watch-less和watch-server

"watch":"npm run watch-js & npm run watch-less & npm run watch-server",

"watch-js":"watchify app/js/main.js -t reactify -o static/bundle.js -dv",

"watch-less":"nodemon --watch app/less/*.less --ext less --exec 'npm run build-less'",

"watch-server":"nodemon --ignore app --ignore static server.js"

},

npm 不止是包管理工具,通過合理的配置任務,可以提高我們的工作效率。

參考原文:http://anders.janmyr.com/2014/03/running-scripts-with-npm.html

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 一、什么是 npm 腳本? npm 允許在package.json文件里面,使用scripts字段定義腳本命令。 ...
    豬豬9527閱讀 393評論 0 0
  • 關鍵詞:npm 定義:npm 允許在package.json文件里面,使用scripts字段定義腳本命令。 上面代...
    ferrint閱讀 13,629評論 2 6
  • 什么是 NPM npm之于Node,就像pip之于Python,gem之于Ruby,composer之于PHP。 ...
    ihoey閱讀 6,265評論 2 36
  • 從宣布停止發動態到現在已經有一段時間了,發現一個很有趣的事,周圍越來越多的人開始放棄QQ,或者空間設置權限或者直...
    iotboy閱讀 550評論 1 2
  • 古風 張純如 溫志齡 竭慮冒險披血腥,金陵虐殺慘絕倫。 寶貴史料窮挖透,慰安遺嫗放悲聲。 著述付梓百萬冊,倭寇...
    碧野牧歌閱讀 325評論 0 5