npm中package.json详解

来源:互联网 发布:mac cad 打印jpg格式 编辑:程序博客网 时间:2024/04/30 16:33

通常我们使用npm init命令来创建一个npm程序时,会自动生成一个package.json文件。package.json文件会描述这个NPM包的所有相关信息,包括作者、简介、包依赖、构建等信息,格式是严格的JSON格式。

 

属性介绍

name

nameversion是package.json中最重要的两个字段,也是发布到NPM平台上的唯一标识,如果没有正确设置这两个字段,包就不能发布和被下载。

version

包的版本号。如"1.0.0"。

description

包的描述信息,将会在npm search的返回结果中显示,以帮助用户选择合适的包。

keywords

包的关键词信息,是一个字符串数组,同上也将显示在npm search的结果中。

homepage

包的主页地址。

bugs

包的bug跟踪主页地址。

license

包的开源协议名称。

author

包的作者。

contributors, maintainers

包的贡献者,是一个数组。

files(较少用)

包所包含的所有文件,可以取值为文件夹。通常我们还是用.npmignore来去除不想包含到包里的文件。

main

包的入口文件。

bin(较少用)

如果你的包里包含可执行文件,通过设置这个字段可以将它们包含到系统的PATH中,这样直接就可以运行,很方便。

man(较少用)

为系统的man命令提供帮助文档。帮助文件的文件名必须以数字结尾,如果是压缩的,需要以.gz结尾。

"man": ["./man/foo.1", "./man/bar.1", "./man/foo.2" ]

directories(较少用)

CommonJS包所要求的目录结构信息,展示项目的目录结构信息。字段可以是:lib, bin, man, doc, example。值都是字符串。

repository

包的仓库地址。

"repository": {    "type": "git",    "url": "git+https://github.com/rainnaZR/es6-react.git"  },

scripts

通过设置这个可以使NPM调用一些命令脚本,封装一些功能。

"scripts": {"start": "babel-node src/pages/index.js",    "build": "webpack --config config/webpack.config.js",    "watch": "webpack-dev-server --config config/webpack.config.js --hot --inline --progress"  }

config

添加一些设置,可以供scripts读取用,同时这里的值也会被添加到系统的环境变量中。

"config": {  "port": "8080"}

npm start的时候会读取到npm_package_config_port环境变量。

dependencies

指定依赖的其它包,这些依赖是指包发布后正常执行时所需要的,也就是线上需要的包。使用下面的命令来安装:

npm install --save packageName

如果是开发中依赖的包,可以在devDependencies设置。

devDependencies

这些依赖只有在开发时候才需要。使用下面的命令来安装:

npm install --save-dev packageName 

peerDependencies

相关的依赖,如果你的包是插件,而用户在使用你的包时候,通常也会需要这些依赖(插件),那么可以将依赖列到这里。

karma, 它的package.json中有设置,依赖下面这些插件:

"peerDependencies": {  "karma-jasmine": "~0.1.0",  "karma-requirejs": "~0.2.0",  "karma-coffee-preprocessor": "~0.1.0",  "karma-html2js-preprocessor": "~0.1.0",  "karma-chrome-launcher": "~0.1.0",  "karma-firefox-launcher": "~0.1.0",  "karma-phantomjs-launcher": "~0.1.0",  "karma-script-launcher": "~0.1.0"}

bundledDependencies

绑定的依赖包,发布的时候这些绑定包也会被一同发布。

optionalDependencies(较少用)

即使这些依赖没有,也可以正常安装使用。

engines(较少用)

指定包运行的环境。

"engines": {  "node": ">=0.10.3 < 0.12",  "npm": "~1.0.20"}

os(较少用)

指定你的包可以在哪些系统平台下运行。

"os": [ "darwin", "linux", "!win32" ]

cpu(较少用)

可以指定包运行的cpu架构。

private

设为true这个包将不会发布到NPM平台下。

publishConfig(较少用)

这个字段用于设置发布时候的一些设定。尤其方便你希望发布前设定指定的tagregistry

完整配置例子如下:

{  "name": "react",  "version": "1.0.0",  "description": "Command line instructions",  "keywords": [    "react",    "es6",    "react with es6"  ],  "homepage": "https://github.com/rainnaZR/es6-react",  "bugs": {    "url": "https://github.com/rainnaZR/es6-react",    "email": "111@163.com"  },  "license": "ISC",  "author": "ZRainna",  "main": "src/pages/index.js",  "directories": {    "tests": "tests",    "lib":"lib",    "docs":"docs"  },  "repository": {    "type": "git",    "url": "git+https://github.com/rainnaZR/es6-react.git"  },  "scripts": {"start": "babel-node src/pages/index.js",    "build": "webpack --config config/webpack.config.js",    "watch": "webpack-dev-server --config config/webpack.config.js --hot --inline --progress"  },  "babel": {    "presets": [      "es2015-node5"    ]  },  "devDependencies": {    "webpack": "^1.13.2",    "webpack-dev-server": "^1.16.1"  },  "dependencies": {    "babel-loader": "^6.2.5",    "babel-preset-es2015": "^6.14.0",    "babel-preset-react": "^6.11.1",    "react": "^15.3.2",    "react-dom": "^15.3.2",    "react-redux": "^4.4.5",    "react-router": "^2.8.1",    "redux": "^3.6.0"  }}

转自(http://www.cnblogs.com/zourong/p/5943224.html)


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 菜叶上长了腻虫怎么办 磨辊耐磨层脱落怎么办 磨辊耐磨层小块脱落怎么办 密封胶皮圈松了怎么办 汽筒里胶皮垫密封不严怎么办 磁耦气缸脱磁了怎么办 无杆气缸行程大怎么办 c4d中模型变成线怎么办 内径槽异性需要车一刀怎么办 轴承太紧影响转速怎么办 电动车前轮蝶刹抱死怎么办 摩托三轮车油刹抱死怎么办 手动档汽车离合抱死怎么办 别克gl8后轮吃胎怎么办 扭力梁后轮吃胎怎么办 非独立悬挂吃胎怎么办 货车半轴法兰盘裂纹怎么办 小天才平板裂屏了怎么办 新车撞了个坑怎么办 新车碰了个坑怎么办 汽车顶被砸了个坑怎么办 途观l前减震异响怎么办 锦明8代声音太大怎么办 手机网页无法加载插件怎么办 微信公众号被投诉怎么办 住了酒店的尾房怎么办 喜欢前任的闺蜜怎么办 闺蜜给介绍对象怎么办 喜欢对象的发小怎么办 山东省直医保卡丢失怎么办 高铁票如果错过了怎么办 动车错过了时间怎么办 长途动车错过了怎么办 动车如果错过了怎么办 没有取票错过了怎么办 动车出站没检票怎么办 火车晚点耽误了下班车怎么办 动车票中途丢了怎么办 购买二手房异地铁路公积金怎么办 沈阳公积金卡丢了怎么办 住宅专项维修资金用完了怎么办