package.json的书写配置

2018-09-04  本文已影响8人  chasing_dream

概述

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节点写入依赖。

-save和-save-dev的区别

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 版本号
文档地址

上一篇 下一篇

猜你喜欢

热点阅读