3.2 npm package.json 文件詳解

2021-08-21 16:26 更新
閱讀本文之前,先看下面這個 package.json 的配置文件,如果每一項你都懂,那本文能帶給你的收獲也許就比較有限,你可以快速瀏覽或直接跳過;如果你和十天前的我一樣,對很多選項存在著疑惑,那花一段時間慢慢閱讀本文,你的疑惑一定一個一個都會消除。
{
  "private": true,
  "dependencies": {
    "antd": "^2.11.1",
    "classnames": "^2.2.5"
  },
  "devDependencies": {
    "axios": "^0.15.3",
    "babel-eslint": "^6.1.2"
  },
  "scripts": {
    "start": "node index.js"
  }
}

1. private 屬性

可選字段,布爾值。如果 ?private ?為 ?true?,npm 會拒絕發(fā)布。

這可以防止私有 ?repositories ?不小心被發(fā)布出去。

2. dependencies 與 devDependencies

問題一:dependencies 與 devDependencies 屬性區(qū)別?

  • ?dependencies ?指定了項目生產(chǎn)環(huán)境時所依賴的模塊;
  • ?devDependencies ?制定了項目開發(fā)環(huán)境時所依賴的模塊。

問題二:開發(fā)環(huán)境和生產(chǎn)環(huán)境是什么?

開發(fā)環(huán)境和生產(chǎn)環(huán)境

問題三:為什么需要生產(chǎn)/開發(fā)兩個環(huán)境?

舉個最簡單的例子:

在開發(fā)階段,我們需要對開發(fā)的模塊進行單元測試,這時在開發(fā)環(huán)境 ?devDependencies ?下就要安裝單元測試模塊。

在生產(chǎn)環(huán)境 ?dependencies?,用戶直接使用項目,此時項目的開發(fā)已全部完成。這時就不需要單元測試模塊了,再加上只會影響性能。

3. scripts 屬性

scripts 中文名稱為腳本,也就是說可以為我們帶來便利。

以上面的配置為例:

scripts 的腳本運行方式是在命令行中輸入 ?npm run <腳本名稱>?

上圖中只有一個 start 值,那么運行時要輸入 ?npm run start?

如果不輸入腳本,就需要在命令行中輸入 ?node index.js ?這行代碼

真實情況是輸入? node index.js ?但是覺得這么太麻煩,就用 ?npm run start? 去代替 ?node index.js?。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號