本文介绍 package.json 文件
package.json 定义了项目所需要的各种模块,以及项目的配置信息(比如名称、版本、许可证等信息)。npm install
命令根据这个配置文件,自动下载所需的模块,也就是配置项目所需的运行和开发环境。
用
npm init
可生成 package.json 文件
以下是一个比较长见的 package.json 文件
{
// 项目名称
"name": "Hello World",
"author": "香蕉",
"description": "这是xx工程",
// 指明了该项目所需要的node.js版本
"engines": {"node": "0.10.x"},
// scripts 指定了运行脚本命令的npm命令行缩写,
// 如下 运行 npm run start 时,就会执行 node index.js 指令。
"scripts": {
"start": "node index.js"
},
// 指定了项目运行所依赖的模块
"dependencies": {
// value 指定了该模块所需的 版本,详情见下面
"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",
}
}
模块 版本的指定
-
指定版本:比如 1.2.2,遵循“大版本.次要版本.小版本”的格式规定,安装时只安装指定版本。
-
波浪号(tilde) + 指定版本:比如 ~1.2.2,表示安装 1.2.x 的最新版本(不低于1.2.2),但是不安装1.3.x,也就是说安装时不改变大版本号和次要版本号。
-
插入号(caret)+指定版本:比如 ˆ1.2.2,表示安装 1.x.x 的最新版本(不低于1.2.2),但是不安装2.x.x,也就是说安装时不改变大版本号。需要注意的是,如果大版本号为0,则插入号的行为与波浪号相同,这是因为此时处于开发阶段,即使是次要版本号变动,也可能带来程序的不兼容。
-
latest:安装最新版本。
参考资料 :
阮一峰: package.json 文件
网友评论