npm package.json 配置文件


{
"name": "studyangular", "version": "0.0.0", "dependencies": {}, "repository": {}, "devDependencies": { "grunt": "^0.4.5", "grunt-autoprefixer": "^2.0.0", "grunt-concurrent": "^1.0.0", "grunt-contrib-clean": "^0.6.0", "grunt-contrib-compass": "^1.0.0", "grunt-contrib-concat": "^0.5.0", "grunt-contrib-connect": "^0.9.0", "grunt-contrib-copy": "^0.7.0", "grunt-contrib-cssmin": "^0.12.0", "grunt-contrib-htmlmin": "^0.4.0", "grunt-contrib-imagemin": "^0.9.2", "grunt-contrib-jshint": "^0.11.0", "grunt-contrib-uglify": "^0.7.0", "grunt-contrib-watch": "^0.6.1", "grunt-filerev": "^2.1.2", "grunt-google-cdn": "^0.4.3", "grunt-newer": "^1.1.0", "grunt-ng-annotate": "^0.9.2", "grunt-svgmin": "^2.0.0", "grunt-usemin": "^3.0.0", "grunt-wiredep": "^2.0.0", "jshint-stylish": "^1.0.0", "load-grunt-tasks": "^3.1.0", "time-grunt": "^1.0.0" }, "engines": { "node": ">=0.10.0" }, "scripts": { "test": "grunt test" } }

 https://github.com/ericdum/mujiang.info/issues/6/css

Name

必须字段。html

小提示:node

  • 不要在name中包含js, node字样;
  • 这个名字最终会是URL的一部分,命令行的参数,目录名,因此不能以点号或下划线开头;
  • 这个名字可能在require()方法中被调用,因此应该尽量短;

Version

必须字段。linux

Description

可选字段,必须是字符串。npm search的时候会用到。git

Keywords

可选字段,字符串数组。npm search的时候会用到。github

Homepage

可选字段,没有http://等带协议前缀的URL。npm

Bugs

可选字段,问题追踪系统的URL或邮箱地址;npm bugs用的上。数组

{ "url" :"http://github.com/owner/project/issues",框架

 "email" :"project@hostname.com"svg

}

License

可选字段。

若是是使用一个广泛的license,好比BSD-3-Clause或MIT,直接使用:

{ "license" : "BSD-3-Clause" }

Author, contributors

都是可选字段。author是一我的,contributors是一组人。

Author的格式以下:

{ "name" : "Barney Rubble",
"email" : "b@rubble.com",
"url" : "http://barnyrubble.tumblr.com/"
}

这种格式也能够:

"Barney Rubble <b@rubble.com> (http://barnyrubble.tumblr.com/)"

Files

可选字段,项目包含的一组文件。若是是文件夹,文件夹下的文件也会被包含。若是须要把某些文件不包含在项目中,添加一个”.npmignore”文件。这个文件和”gitignore”相似。

Main

可选字段。这个字段的值是你程序主入口模块的ID。若是其余用户须要你的包,当用户调用require()方法时,返回的就是这个模块的导出(exports)。

Bin

可选字段。不少的包都会有执行文件须要安装到PATH中去。

这个字段对应的是一个Map,每一个元素对应一个{ 命令名:文件名 }

{ "bin" : { "npm" : "./cli.js" } }

Directories

用于指示包的目录结构:

Directories.lib

指示库文件的位置。

Directories.bin

和前面的bin是同样的,但若是前面已经有bin,那么这个就无效。

除了以上两个,还有Directories.doc& Directories.man & Directories.example。

Repository

可选字段。用于指示代码存放的位置。

"repository" :
  { "type" : "git"
  , "url" : "http://github.com/npm/npm.git"
  }
 
"repository" :
  { "type" : "svn"
  , "url" : "http://v8.googlecode.com/svn/trunk/"
  }

Scripts

可选字段,object。Key是生命周期事件名,value是在事件点要跑的命令。参考npm-scripts。

Config

可选字段,object。

Config对象中的值在Scripts的整个周期中皆可用,专门用于给Scripts提供配置参数。

Dependencies

可选字段,指示当前包所依赖的其余包。

{ "dependencies" :
  { "foo" : "1.0.0 - 2.9999.9999"
  , "bar" : ">=1.0.2 <2.1.2"
  , "baz" : ">1.0.2 <=2.3.4"
  , "boo" : "2.0.1"
  , "qux" : "<1.0.0 || >=2.3.1 <2.4.5 || >=2.5.2 <3.0.0"
  , "asd" : "http://asdf.com/asdf.tar.gz"
  , "til" : "~1.2"
  , "elf" : "~1.2.3"
  , "two" : "2.x"
  , "thr" : "3.3.x"
  }
}

版本格式能够是下面任一种:

  • version 彻底匹配
  • >version 大于这个版本
  • >=version大于或等于这个版本
  • <version
  • <=version
  • ~version 很是接近这个版本
  • ^version 与当前版本兼容
  • 1.2.x X表明任意数字,所以1.2.1, 1.2.3等均可以
  • http://... Unix系统下使用的tarball的URL。
  • * 任何版本均可以
  • ""任何版本均可以
  • version1 - version2  等价于 >=version1 <=version2.
  • range1 || range2 知足任意一个便可
  • git... Git地址
  • user/repo

devDependencies

可选字段。若是只须要下载使用某些模块,而不下载这些模块的测试和文档框架,放在这个下面比较不错。

peerDependencies

可选字段。兼容性依赖。若是你的包是插件,适合这种方式。

bundledDependencies

可选字段。发布包时同时打包的其余依赖。

optionalDependencies

可选字段。若是你想在某些依赖即便没有找到,或则安装失败的状况下,npm都继续执行。那么这些依赖适合放在这里。

Engines

可选字段。既能够指定node版本:

{ "engines" : {"node" : ">=0.10.3 <0.12" } }

也能够指定npm版本:

{ "engines" : {"npm" : "~1.0.20" } }

engineStrick

可选字段,布尔值。若是你确定你的程序只能在制定的engine上运行,设置为true。

Os

可选字段。指定模块能够在什么操做系统上运行:

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

"os" : [ "!win32" ]

CPU

可选字段。指定CPU型号。

"cpu" : [ "x64","ia32" ]

"cpu" : [ "!arm","!mips" ]

preferGlobal

可选字段,布尔值。若是你的包是个命令行应用程序,须要全局安装,就能够设为true。

Private

可选字段,布尔值。若是private为true,npm会拒绝发布。这能够防止私有repositories不当心被发布出去。

publishConfig

可选字段。发布时使用的配置值放这。

默认值

·  "scripts":{"start": "node server.js"}

若是你的包里有server.js文件,npm默认将执行: node server.js.

·  "scripts":{"preinstall":"node-gyp rebuild"}

若是包里有binding.gyp,npm默认在preinstall命令时,使用node-gyp作编译。

相关文章
相关标签/搜索