package.json文件scripts腳本解讀(npm scripts && shell和bash && process.env && NODE_ENV && cross-env)


package.json文件中,我們常常會看到這樣的代碼,並且也知道如何去執行腳本命令,但是,我們為什么可以這樣使用呢?通過仔細閱讀幾篇文章,已經基本得到了答案,這里做一個簡單的提煉、理解和記錄。

一、什么是 npm 腳本

package.json文件里面的scripts字段中定義的就是npm腳本

二、npm腳本的原理

每當執行npm run,就會自動新建一個 Shell,在這個 Shell 里面執行指定的腳本命令。

三、什么是shell和bash

Shell,直譯過來就是“殼”的意思,它的官方定義如下:

總的來說,shell就是充當了計算機命令與計算機語言(0和1)的翻譯官。當我們在控制台發出指令后,經過shell的翻譯這些命令將變成計算機語言,也就是1和0,最后反映在高低電壓的不同上,然后計算機中的那些電子器件就能按照我們的要求進行相應的動作了。而bash呢,就是shell的一種,shell可以看做是一種語言名稱,其具體的語法則遵循bashcsh的規定。

四、傳參

向 npm 腳本傳入參數,要使用--標明。

五、默認值

六、簡寫形式

七、NODE_ENV是什么

想要知道NODE_ENV是什么,首先要了解process.env對象,它是Node.js中暴露出來的系統環境變量,因此我們可以對process.env添加一個自定義屬性NODE_ENV並設置值,而之所以我們在設置的時候直接這樣寫: NODE_ENV=production,可能是scripts中定義的變量會默認添加到process.env下面


八、實際應用


參考鏈接1:http://www.ruanyifeng.com/blog/2016/10/npm_scripts.html => npm scripts 使用指南
參考鏈接2:https://www.jianshu.com/p/a702a01db5c7 => 什么是shell和bash
參考鏈接3:https://www.jianshu.com/p/83e8909fc1cd => NODE_ENV
參考鏈接4:https://nodejs.org/dist/latest-v10.x/docs/api/process.html#process_process_env => process.env
參考鏈接5:https://www.npmjs.com/package/cross-env => cross-env


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM