作為一個nodejs專案,每個專案根目錄都有一個
package.json
,正確的配置package.json
會產生意向不到的效果,如配置bin
屬性。
一個典型的package.json
檔案的內容 ( 通過vue-cli生成 )
{
"name": "formula",
"version": "0.1.0",
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"lint": "vue-cli-service lint"
},
"dependencies": {
"vue": "^2.5.16"
},
"devDependencies": {
"@vue/cli-plugin-babel": "^3.0.0-beta.15",
"@vue/cli-plugin-eslint": "^3.0.0-beta.15",
"@vue/cli-service": "^3.0.0-beta.15",
"less": "^3.7.1",
"less-loader": "^4.1.0",
"vue-template-compiler": "^2.5.16"
}
}
複製程式碼
name 屬性
name
屬性是用來指定專案名稱的,釋出到npmjs上後,會使用這個屬性作為專案名稱
version 屬性
version
屬性是用來控制版本的,注意每次釋出到npmjs之前都要修改version值
scripts 屬性
scripts
屬性中配置了本地構建執行的一些命令,如上面的配置檔案中的build
,執行npm run build
就編譯本地檔案,生成能部署的程式碼
dependencies 屬性 和 devDependencies 屬性
dependencies
屬性中的內容是本專案所依賴的npm模組devDependencies
屬性中的內容是專案開發所需要依賴的模組,僅作為開發依賴,不會上線,如 webpack
通過npm install <package>
安裝的模組會預設出現在 dependencies
,通過npm install <package> --save-dev
安裝的模組會出現在 devDependencies
中。
小知識:
npm instll
的引數介紹
npm install <package> --save-prod
是install的預設引數,模組會出現在package.json
中的dependencies
中npm install <package> --save-dev
安裝的模組會出現在devDependencies
中
bin 屬性
bin
是用來指定各個內部命令對應的可執行檔案的位置,如vue-cli
的package.json
中有這樣的一段
"bin": {
"vue": "bin/vue.js"
}
複製程式碼
通過這個配置,就可以使用vue
命令了。
所以,如果你要寫一個像vue
一樣的可執行模組,就需要加這樣一個欄位了。