概述
package.json文件,定义了这个项目所需要的各种模块,以及项目的配置信息(比如名称、版本、许可证等元数据)。npm install命令根据这个配置文件,自动下载所需的模块,也就是配置项目所需的运行和开发环境。
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指定项目开发所需要的模块
指定版本:比如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:安装最新版本。
tip:package.json文件可以手工编写,也可以使用npm init命令自动生成
$ npm init
项目名称(name)和项目版本(version)是必填的,其他都是选填的
有了package.json文件就可以直接安装项目模块
$ npm install
如果一个模块不在package.json文件之中,可以单独安装这个模块,并使用相应的参数,将其写入package.json文件之中
$ npm install express --save
$ npm install express --save-dev
npm install moduleName # 安装模块到项目目录下
npm install -g moduleName # -g 的意思是将模块安装到全局,具体安装到磁盘哪个位置,要看 npm config prefix 的位置。
npm install -save moduleName # -save 的意思是将模块安装到项目目录下,并在package文件的dependencies节点写入依赖。
npm install -save-dev moduleName # -save-dev 的意思是将模块安装到项目目录下,并在package文件的devDependencies节点写入依赖。
peerDependencies
peerDependencies字段,就是用来供插件指定其所需要的主工具的版本
bin字段
bin项用来指定各个内部命令对应的可执行文件的位置
tip:在命令行下,键入npm run,然后按tab键,就会显示所有可以使用的命令
main字段
main字段指定了加载的入口文件,require('moduleName')就会加载这个文件。这个字段的默认值是模块根目录下面的index.js。
config 字段
config字段用于添加命令行的环境变量。
browser字段
browser指定该模板供浏览器使用的版本
engines 字段
engines字段指明了该模块运行的平台,比如 Node 的某个版本或者浏览器
{ "engines" : { "node" : ">=0.10.3 <0.12" } }
man字段
man用来指定当前模块的man文档的位置
preferGlobal字段
preferGlobal的值是布尔值,表示当用户不将该模块安装为全局模块时(即不用–global参数),要不要显示警告,表示该模块的本意就是安装为全局模块。
style字段
style指定供浏览器使用时,样式文件所在的位置。样式文件打包工具parcelify,通过它知道样式文件的打包位置。
其他
licenses:授权方式/许可证
directories:目录
respository:资源仓库地址
version 版本号
文档地址
网友评论