下面是一個更完整的package.json文件。
{
"name": "Hello World",
"version": "0.0.1",
"scripts": {
"start": "node index.js"
},
"dependencies": {
"express": "latest",
"mongoose": "~3.8.3",
"handlebars-runtime": "~1.0.12",
"express3-handlebars": "~0.5.0",
"MD5": "~1.2.0"
},
"devDependencies": {
"bower": "~1.2.8",
"grunt": "~0.4.1",
"grunt-contrib-concat": "~0.3.0",
"grunt-contrib-jshint": "~0.7.2",
"grunt-contrib-uglify": "~0.2.7",
"grunt-contrib-clean": "~0.5.0",
"browserify": "2.36.1",
"grunt-browserify": "~1.3.0",
}
}
下面詳細解釋package.json文件的各個字段。
scripts字段
scripts指定了運行腳本命令的npm命令行縮寫,比如start指定了運行npm run start時,所要執行的命令。
下面的設置指定了npm run preinstall、npm run postinstall、npm run start、npm run test時,所要執行的命令。
"scripts": {
"preinstall": "echo here it comes!",
"postinstall": "echo there it goes!",
"start": "node index.js",
"test": "tap test/*.js"
}
dependencies字段,devDependencies字段
dependencies字段指定了項目運行所依賴的模塊,devDependencies指定項目開發所需要的模塊。
它們都指向一個對象。該對象的各個成員,分別由模塊名和對應的版本要求組成,表示依賴的模塊及其版本范圍。
{
"devDependencies": {
"browserify": "~13.0.0",
"karma-browserify": "~5.0.1"
}
}
package.json文件可以手工編寫,也可以使用npm init命令自動生成。
$ npm init
這個命令采用互動方式,要求用戶回答一些問題,然后在當前目錄生成一個基本的package.json文件。所有問題之中,只有項目名稱(name)和項目版本(version)是必填的,其他都是選填的。
有了package.json文件,直接使用npm install命令,就會在當前目錄中安裝所需要的模塊。
$ npm install
如果一個模塊不在package.json文件之中,可以單獨安裝這個模塊,並使用相應的參數,將其寫入package.json文件之中。
$ npm install express --save
$ npm install express --save-dev
上面代碼表示單獨安裝express模塊,--save參數表示將該模塊寫入dependencies屬性,--save-dev表示將該模塊寫入devDependencies屬性。
https://www.cnblogs.com/zhangmingcheng/p/7119740.html