、Node.js包: 

Nodejs 中除了它自己提供的核心模块外,我们可以自定义模块,也可以使用第三方的模块。Nodejs 中第三方模块由包组成,可以通过包来对一组具有相互依赖关系的模块进行统一管理。

完全符合 CommonJS 规范的包目录一般包含如下这些文件。

  • package.json :包描述文件。
  • bin :用于存放可执行二进制文件的目录。
  • lib :用于存放 JavaScript 代码的目录。
  • doc :用于存放文档的目录。

在 NodeJs 中通过 NPM 命令来下载第三方的模块(包):

npm install jquery 

npm install jquery  -g 

npm install jquery –save

npm install jquery –save-dev 

 –save  –save-dev 参数,则会将安装的模块写到package.json文件中,方便重新下载模块。

带 -g 这个参数意思是装到global目录下


二、NPM 介绍   

npm 是世界上最大的开放源代码的生态系统。我们可以通过 npm 下载各种各样的包, 这些源代码(包)我们可以在 https://www.npmjs.com 找到。

npm 是随同 NodeJS 一起安装的包管理工具,能解决 NodeJS 代码部署上的很多问题, 常见的使用场景有以下几种:

允许用户从 NPM 服务器下载别人编写的第三方包到本地使用。

允许用户从 NPM 服务器下载并安装别人编写的命令行程序(工具)到本地使用。

允许用户将自己编写的包或命令行程序上传到 NPM 服务器供别人使用。


三、NPM 命令详解   

1.npm -v 查看 npm 版本

2.使用 npm 命令安装模块:npm install jquery

3.npm uninstall moudleName 卸载模块(或者直接删除对应文件夹即可

4.npm list 查看当前目录下已安装的 node 包

5.npm info jquery查看 jquery 的版本

6.指定版本安装npm install jquery@1.12.4


四、package.json   

package.json 定义了这个项目所需要的各种模块,以及项目的配置信息(比如名称、版本、许可证等元数据)

1、创建 package.json:

    npm init --yes 直接使用当前文件夹名称为项目名

    npm init 不带--yes参数,则按步骤一步一步输入参数创建


2、package.json 文件 

{  "name": "Temp",  "version": "1.0.0",  "description": "",  "main": "index.js",  "dependencies": {  "jquery": "^1.12.0"  },  "devDependencies": {},  "scripts": {  "test": "echo \"Error: no test specified\" && exit 1"  },  "keywords": [],  "author": "",  "license": "ISC" }

一个项目下有package.json文件,可通过npm install 命令重新下载依赖包(第三方模块)


3、安装模块并把模块信息写入 package.json(依赖)

使用 npm install jquery –save 或者 npm install jquery –save-dev 


4、dependencies 与 devDependencies 之间的区别?

使用 npm install jquery –save 自动更新 dependencies 字段值;

使用 npm install jquery –save-dev 自动更新 devDependencies 字段值;

dependencies=配置当前程序所依赖的其他包。

devDependencies=配置当前程序所依赖的其他包,只会下载模块,而下载这些模块的测试和文档框架

^表示第一位版本号不变,后面两位取最新的

~表示前两位不变,最后一个取最新

*表示全部取最新


五、安装淘宝镜像   

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

如果不愿意换命令,可以将npm源修改为淘宝源,那么使用npm下载第三方模块的时候,也会从淘宝源下载,修改方法如下:

1、通过config命令

npm config set registry https://registry.npm.taobao.org

npm info jquery(可以查看提供模块的地址)

2、命令行指定

npm --registry https://registry.npm.taobao.org info underscore

3、编辑 ~/.npmrc 加入下面内容

registry = https://registry.npm.taobao.org