随着前端由多页面到单页面,由零散的文件到模块化开发,Node为前端工程化,模块化注入了新鲜的血液,在一个完整的模块化开发项目中,package.json 文件无处不在。这个文件主要是做什么、有什么用,今天就详细讲解下。
1.作用
每个项目的根目录下面,一般都有一个package.json文件,定义了这个项目所需要的各种模块,以及项目的配置信息。
2.创建
package.json 文件创建有两种方式,手动创建或者自动创建。
手动创建:直接在项目根目录新建一个 package.json 文件,然后输入相关的内容。
自动创建:在项目根目录下执行 npm init,然后根据提示一步步输入相应的内容完成后即可自动创建。
3.示例
{
"name": "Hello World",
"version": "0.0.1",
"author": "张三",
"description": "第一个node.js程序",
"keywords":["node.js","javascript"],
"repository": {
"type": "git",
"url": "https://path/to/url"
},
"license":"MIT",
"engines": {"node": "0.10.x"},
"bugs":{"url":"http://github.com","email":"[email protected]"},
"contributors":[{"name":"李四","email":"[email protected]"}],
"scripts": {
"start": "node index.js"
},
"dependencies": {
"express": "latest",
"mongoose": "~3.8.3",
"MD5": "^1.2.0"
},
"devDependencies": {
"bower": "1.2.8",
"grunt": "~0.4.1",
"browserify": "^2.36.1",
}
}
4.字段说明
name # 名称
version # 版本
author # 作者
description # 描述
keywords # 关键字
repository # Git仓库所在位置
license # 开源协议
engines # 所需要的node.js版本
bugs # bug地址
contributors # 贡献者
scripts # 脚本
dependencies # 生产环境下,项目运行所需依赖。
devDependencies # 开发环境下,项目所需依赖
5.版本号
可能很多人注意到了,dependencies和devDependencies依赖包的前面会有~或者^等符号的区别,主要讲解下比较常见的,npm模块的完整的版本号一般是【主版本 . 次要版本 . 补丁版本】
主版本 修复bug,兼容老版本
次要版本 新增功能,兼容老版本
补丁版本 新的架构调整,不兼容老版本
1 使用~
安装时不改变大版本号和次要版本号。比如~1.2.2,表示安装1.2.x的最新版本(不低于1.2.2),但是不安装1.3.x。
2 使用^
安装时不改变大版本号。比如ˆ1.2.2,表示安装1.x.x的最新版本(不低于1.2.2),但是不安装2.x.x。
3 不使用任何符号-指点版本
安装时只安装指定版本。比如1.2.2,只能安装1.2.2。
正文完