nodejs package.json详解

  每个项目的根目录下面,一般都会有package.json文件,定义了这个项目中所需各种模板及项目中的配置信息。npm install命令根据这个配置文件,自动下载所需的模块,也就是配置项目中所需的运行和开发环境。

  仔细观察package.json文件可以发现其内部就是一个json对象,该对象的每一个成员就是当前项目的一项设置。

package.json可配置项

name:项目名称

deecription:应用项目描述

version 版本号

config:应用的配置项

author:作者

respository:资源仓库地址

licenses:授权方式

directories:目录

main:应用入口文件

bin:命令行文件

dependencries:项目应用运行依赖模块

devDependencies:项目应用开发环境依赖

engines:运行引擎,指明node.js运行所需要的版本

script:脚本

完整配置

 
  1. {

  2. //项目名称

  3. "name": "demo",

  4. //版本号(遵守“主版本.次要版本.补丁号”的格式

  5. "version": "1.0.0",

  6. //description描述你的模块,或者搜索

  7. "description": "vue.js js iview ",

  8. //main字段指定了加载的入口文件,即主文件

  9. "main": "app.js",

  10. // scripts指定了运行脚本命令的npm命令行缩写,比如start指定了运行npm start时,所要执行的命令。

  11. "scripts": {

  12. "start": "node index.js"

  13. },

  14. //repository(仓库)指定一个代码存放地址

  15. "repository": {

  16. "type": "git",

  17. "url": "git+https://github.com/XXXX"

  18. },

  19. //作者

  20. "author": "mayuan",

  21. //授权方式

  22. "license": "MIT",

  23. //指明node.js运行所需要的版本

  24. "engines": {

  25. "node": "0.10.x"

  26. },

  27. "bugs": {

  28. "url": "https://github.com/XXXX"

  29. },

  30. // 一个字符串数组,方便别人搜索到本模块

  31. "keywords": [

  32. "vue","iview"

  33. ],

  34.  
  35. //devDependencies指定项目开发所需要的模块

  36. "devDependencies": {

  37. "babel-core": "^6.23.1",

  38. "babel-loader": "^6.3.2",

  39. "babel-preset-es2015": "^6.22.0",

  40. "vue-html-loader": "^1.0.0",

  41. "vue-loader": "^8.5.2",

  42. "vue-style-loader": "^1.0.0",

  43. "webpack": "^1.13.2"

  44. },

  45. //dependencies字段指定了项目运行所依赖的模块

  46. "dependencies": {

  47. "express": "latest", //指定express是最新版本

  48. "mongoose": "~3.8.3",

  49. "handlebars-runtime": "~1.0.12",

  50. "express3-handlebars": "~0.5.0",

  51. "MD5": "~1.2.0"

  52. }

  53. }


有了package.json文件,直接使用npm install命令,就会在当前目录中安装所需要的模块

npm install


如果一个模块不在package.json文件之中,可以单独安装这个模块,并使用相应的参数,将其写入package.json文件之中。以加载“ejs”模块为例

 
  1. npm install ejs --save

  2. npm install ejs --save-dev

上面代码表示单独安装ejs模块。--save表示将该模块写入dependencies属性,--save -dev表示将该模块写入devDependencies属性。同时省略则表示不写入package.json文件中。

补充:

  模板下载之后可以视图访问各个模块版本及最新版本。我是采用webstorm打开项目的,具体操作如下

 1、选择File->settings->Languages&Frameworks->Node.js and NPM

   当然,这的大前提是需要你在webstorm中配置node.js信息。

版本号

表达式 版本范围
>=1.2.7 大于等于1.2.7
>=1.2.7 <1.3.0 1.2.7,1.2.8,1.2.9
1.2.3-2.3.4 >=1.2.3 <=2.3.4
1.2-2.3.4 >=1.2.0 <=2.3.4
1.2.3-2.3 >=1.2.3 <2.4.0
1.2.3-2 >=1.2.3 <3.0.0
* >=0.0.0
1.x(等价于1.X) >=1.0.0 <2.0.0
1.2.x >=1.2.0 <3.0.0
""(等价于*) >=0.0.0
1(等价于1.x.x) >=1.0.0.0 <2.0.0
1.2(等价于1.2.x) >=1.2.0 <1.3.0
~1.2.3(>=1.2.3 <1.(2+1).0) >=1.2.3 <1.3.0
~1.2(>=1.2.0 <1.(2+1).0) >=1.2.0 <1.3.0
~1(>=1.0.0 <(1+1).0.0) >=1.0.0 <2.0.0
~0.2.3(>=0.2.3 <0.(2+1).0) >=0.2.3 <0.3.0
~0.2(>=0.2.0 <0.(2+1).0) >=0.2.0 <0.3.0
~9(>=0.0.0 <(0+1).0.0) >=0.0.0 <1.0.0
~1.2.3-beta.2 >=1.2.3-beta.2 <1.3.0
^1.2.3 >=1.2.3 <2.0.0
^0.2.3 >=0.2.3 <0.3.3
^0.0.3 >=0.0.3 <0.0.4
^1.2.3-beta.2 >=1.2.3-beta.2 <2.0.0
^0.0.3-beta >=0.0.3 <0.0.4
^1.2.x >=1.2.0 <2.0.0
^0.0.x >=0.0.0 <0.1.0
^0.0 >=0.0.0 <0.1.0
^1.x >=1.0.0 <2.0.0
^0.x >=0.0.0 <1.0.0

创建项目可查看http://blog.csdn.net/hh12211221/article/details/77555344

app.js详解可查看http://blog.csdn.net/hh12211221/article/details/77570555

demo示例可查看http://blog.csdn.net/hh12211221/article/details/77573292

猜你喜欢

转载自blog.csdn.net/bobo553443/article/details/81392401