node.js模块的安装可以使用npm安装,如下:
$ npm install <Module Name>
每个项目的根目录下面,一般都需要一个package.json文件,定义了这个项目中所需各种模板及项目中的配置信息。npm install命令根据这个配置文件,自动下载所需的模块,也就是配置项目中所需的运行和开发环境。
使用package.json安装模块有以下好处:
- 可以很方便地将项目中的模块分享给其他人,不需要将整个node_ modules目录发给他们。因为有了package .json之后,其他人运行npm install就可以把依赖的模块都下载下来
- 可以很方便地记录所依赖模块的版本号几.举个例子来说,当你的项目通过npm install colors安装的是0.0.5的colors.一年后,由干colors模块API的更改,可能导致与你的项目不兼容,如果你使用npm install并且不指定版本号来安装的话,你的项目就没法正常运行了
- 让分享更简单。如果你的项目不错,你是否想将它分享给别人?这时,因为有package.json文件,通过npm publish就可以将其发布到NPM库中供所有人下载使用了.
package.json属性
仔细观察package.json文件可以发现其内部就是一个json对象,该对象的每一个成员就是当前项目的一项设置,package.json属性说明如下:
-
name - 包名。
-
version - 包的版本号。
-
description - 包的描述。
-
homepage - 包的官网 url 。
-
author - 包的作者姓名。
-
contributors - 包的其他贡献者姓名。
-
dependencies - 依赖包列表。如果依赖包没有安装,npm 会自动将依赖包安装在 node_module 目录下。
-
repository - 包代码存放的地方的类型,可以是 git 或 svn,git 可在 Github 上。
-
main - main 字段指定了程序的主入口文件,require('moduleName') 就会加载这个文件。这个字段的默认值是模块根目录下面的 index.js。
-
keywords - 关键字
示例代码如下:
{ //项目名称 "name": "demo", //版本号(遵守“主版本.次要版本.补丁号”的格式 "version": "1.0.0", //description描述你的模块,或者搜索 "description": "vue.js js iview ", //main字段指定了加载的入口文件,即主文件 "main": "app.js", // scripts指定了运行脚本命令的npm命令行缩写,比如start指定了运行npm start时,所要执行的命令。 "scripts": { "start": "node index.js" }, //repository(仓库)指定一个代码存放地址 "repository": { "type": "git", "url": "git+https://github.com/XXXX" }, //作者 "author": "mayuan", //授权方式 "license": "MIT", //指明node.js运行所需要的版本 "engines": { "node": "0.10.x" }, "bugs": { "url": "https://github.com/XXXX" }, // 一个字符串数组,方便别人搜索到本模块 "keywords": [ "vue","iview" ], //devDependencies指定项目开发所需要的模块 "devDependencies": { "babel-core": "^6.23.1", "babel-loader": "^6.3.2", "babel-preset-es2015": "^6.22.0", "vue-html-loader": "^1.0.0", "vue-loader": "^8.5.2", "vue-style-loader": "^1.0.0", "webpack": "^1.13.2" }, //dependencies字段指定了项目运行所依赖的模块 "dependencies": { "express": "latest", //指定express是最新版本 "mongoose": "~3.8.3", "handlebars-runtime": "~1.0.12", "express3-handlebars": "~0.5.0", "MD5": "~1.2.0" } }
有了package.json文件,直接使用npm install命令,就会在当前目录中安装所需要的模块
npm install