Nodejs
中除了它自己提供的核心模块(内置模块)
外,我们可以自定义模块
,也可以使用第三方模块
。Nodejs
中的第三方模块由包组成
,它可以通过包来对一组具有相互依赖关系的模块进行统一管理。CommonJs
包目录规范如下:
package.json
:包描述文件bin
:用于存放可执行二进制文件的目录lib
:用于存放JavaScript
代码的目录doc
:用于存放文档的目录npm
是世界上最大的开放源代码的生态系统,我们可以通过npm
下载各种各样的包,这些源代码(包)我们可以在 http://www.npmjs.com 中找到。npm
是跟随NodeJs
一起安装的包管理工具,能解决NodeJs
代码部署上的很多问题,常见的使用场景有以下几种:
NPM
服务器下载别人编写的第三方包到本地使用(silly-datetime
)NPM
服务器下载并安装别人编写的命令行程序(工具)到本地使用(supervisor
)NPM
服务器,供别人使用。NodeJs
中通过NPM
命令来下载第三方的模块(包)1.去http://www.npmjs.com
网站找到自己想要安装的包
2.进入项目根目录,使用下述命令进行安装
npm i md5 --save
--save
会将包信息自动填写到package.json
中dependencies
中node_moudles
目录,该目录就是用来存放第三方模块的,项目最终提交时,是不需要提交node_moudles
这个目录的,否则项目运行会报错--save
会将依赖信息写入package.json
文件中,所以只需要提交该文件即可,别人拿到项目后运行npm -i
即可自动下载所有第三方依赖包,如果安装依赖时没有使用--save
,则最终会缺少模块而导致项目无法直接运行。3.引用模块
var md5 = require("md5")
4.看使用文档
npm -v
:查看npm
版本npm
命令安装模块npm install ModuleName --save
npm
命令卸载模块npm uninstall ModuleName
npm list
查看当前目录下已安装的node
包npm list
npm info ModuleName
查看ModuleName
的版本npm info md5
npm install jquery@1.8.0
package.json
定义了这项目所需要的各种模块以及项目的配置信息(比如名称、版本、许可证等元数据)package.json
npm init
--yes
:表示package.json
{
"name": "test", // 名称
"version": "1.0.0", // 版本
"description": "test", // 描述
"main": "main.js", // 入口
"keywords":[
"test"
],
"author": "fatpuffer", // 作者
"license": "MIT", // 许可证
"dependencies": { // 依赖
"md5": "^2.3.0"
},
"devDependencies": { // 项目依赖的一些其他工具包 --save-dev
"md5": "^2.3.0"
}
}
^
:第一位版本号不变,后面两位取最新的~
:表示前两位不变,最后一个取最新的*
:表示全部取最新的
:表示就安装此版本npm
包官网:http://www.npmjs.orgnpm
淘宝镜像官网:https://npm.taobao.org
npmjs.org
镜像,可以代替官方版本,同步频率为10
分钟一次,尽量保证和官方服务同步。cnpm(gzip压缩支持)
命令行工具代替默认的npm
:npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm
安装第三方依赖包cnpm install md5 --save