3.2 npm package.json 文件詳解

2021-08-21 16:26 更新
閱讀本文之前,先看下面這個(gè) package.json 的配置文件,如果每一項(xiàng)你都懂,那本文能帶給你的收獲也許就比較有限,你可以快速瀏覽或直接跳過(guò);如果你和十天前的我一樣,對(duì)很多選項(xiàng)存在著疑惑,那花一段時(shí)間慢慢閱讀本文,你的疑惑一定一個(gè)一個(gè)都會(huì)消除。
{
  "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 會(huì)拒絕發(fā)布。

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

2. dependencies 與 devDependencies

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

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

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

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

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

舉個(gè)最簡(jiǎn)單的例子:

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

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

3. scripts 屬性

scripts 中文名稱(chēng)為腳本,也就是說(shuō)可以為我們帶來(lái)便利。

以上面的配置為例:

scripts 的腳本運(yùn)行方式是在命令行中輸入 ?npm run <腳本名稱(chēng)>?

上圖中只有一個(gè) start 值,那么運(yùn)行時(shí)要輸入 ?npm run start?

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

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


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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)