一、包与 NPM
1. 包
Nodejs 中除了它自己提供的核心模块外, 我们可以自定义模块, 也可以使用
第三方的模块。 Nodejs 中第三方模块由包组成,可以通过包来对一组具有相互依
赖关系的模块进行统一管理。
完全符合 CommonJs 规范的包目录一般包含如下这些文件。
• package.json :包描述文件。
• bin :用于存放可执行二进制文件的目录。
• lib :用于存放 JavaScript 代码的目录。
• doc :用于存放文档的目录。
在 NodeJs 中通过 NPM 命令来下载第三方的模块(包)。
官网 : https://www.npmjs.com/
// npm install date-format var format = require('date-format'); console.log(format.asString()); console.log(format.asString(new Date())); console.log(format.asString('yyyy:MM:dd hh:mm:ss', new Date()));
执行结果
2. NPM 介绍
npm 是世界上最大的开放源代码的生态系统。 我们可以通过 npm 下载各种各样的包,
这些源代码(包)我们可以在 https://www.npmjs.com 找到。
二、 NPM 命令详解
1. npm -v 查看 npm 版本
2. 使用 npm 命令安装模块
npm install Module Name npm install -g Module Name //全局
3. 卸载模块
npm uninstall Module Name npm uninstall -g Module Name //全局
4. npm list 查看当前目录下已安装的 node 包
npm list
5 npm info jquery 查看 jquery 的版本
npm info 模块 //查看模块的版本
6 指定版本安装 npm install [email protected]
三 package.json
package.json 定义了这个项目所需要的各种模块,以及项目的配置信息(比如名称、
版本、许可证等元数据)
1、 创建 package.json
npm init npm init –yes //不推荐使用
2、 package.json 文件
{ "name": "test", // 项目名称 "version": "1.0.0", // 项目版本号 "description": "test", // 项目描述 "main": "main.js", // 项目入口 "keywords": [ "test" ], "author": "wade", // 作者 "license": "MIT", "dependencies": { //项目依赖 "express": "^4.10.1" //包 }, "devDependencies": { // 项目依赖 "jslint": "^0.6.5" } }
3 安装模块并写入 package.json
npm install 包名 --save
npm install 包名 --save-dev
4 dependencies 与 devDependencies 之间的区别?
- 使用 npm install node_module – save 自动更新 dependencies 字段值;
- 使用 npm install node_module – save-dev 自动更新 devDependencies 字段值;
- dependencie 配置当前程序所依赖的其他包。
- devDependencie 配置当前程序所依赖的其他包, 只会下载模块,而不下载这些模块的
测试和文档框架
"dependencies": { "ejs": "^2.3.4", "express": "^4.13.3", "formidable": "^1.0.17" }
# 解释
^表示第一位版本号不变, 后面两位取最新的
~表示前两位不变,最后一个取最新
*表示全部取最新
5 使用package.json 快速安装项目环境
npm install
四 安装淘宝镜像
http://www.npmjs.org npm 包官网
https://npm.taobao.org/ 淘宝 npm 镜像官网
淘宝 NPM 镜像是一个完整 npmjs.org 镜像,你可以用此代替官方版本(只读),同步频
率目前为 10 分钟 一次以保证尽量与官方服务同步。
使用说明
你可以使用我们定制的 cnpm (gzip 压缩支持) 命令行工具代替默认的 npm
:
npm install -g cnpm --registry=https://registry.npm.taobao.org
安装包
cnpm install [name]