1. npm 简介
- <strong>npm</strong>:一个包管理工具
- <strong>包/模块</strong>:为了JavaScript编写人员<strong>共享</strong>他们为解决一些特殊问题所编写的代码和给其他编写人员在他们自己的项目中<strong>重用</strong>这些代码,并且<strong>实时更新</strong>。这些可重用的代码叫做 <strong>包 或者 模块</strong>
(It's a way to reuse code from other developers, and also a way to share your code with them, and it makes it easy to manage the different versions of code.) - 一个包是一个目录,里面有一个或者多个文件
- 一个典型的应用例如一个网站,依赖于成千上万的包。这些包通常比较小。一般的思想是用比较好的解决方法解决了一个小问题,用这些小问题组成一个更大的问题的解决方案。
2. npm 的安装和更新
- npm 是随同 NodeJS 一起安装的包管理工具,npm 更新很快
- 检查 npm 的版本:
npm -v
- 更新 npm 的最新版本:
npm install npm@latest -g
3. package.json 文件
- 存有关于包的元数据(元数据指用来描述一个文件的特征的系统数据,诸如访问权限、文件拥有者以及文件数据块的分布信息等等);
- 一个 package.json 文件列举了你的项目所依赖的包和版本。
- 创建一个package.json 文件:
npm init
输入相应的信息或者一路回车过去(使用默认的或者为空)
npm init --yes //跳过询问,获得一个默认的package.json
-
package.json 文件的内容
-
name:一般是当前目录的名字
-
version:总是1.0.0
-
description:包的描述
-
main:指向你程序的主要项目,经常是index.js 程序的入口
-
keywords:空
-
author:创建package.json 文件时,你在命令行输入的名字(包的作者名)
-
contributors - 包的其他贡献者姓名
-
"dependencies": these packages are required by your application in production
-
"devDependencies": these packages are only needed for development and testing
-
手动编辑 package.json 文件:可以在
dependencies
或者devDependencies
两个对象中写入你的项目所依赖的包以及版本号
eg:
{
"name": "my_package",
"version": "1.0.0",
"dependencies": {
"my_dep": "^1.0.0"
},
"devDependencies" : {
"my_test_framework": "^3.1.0"
}
}
用命令行的方式写入:
npm install <package_name> --save
//add an entry to your package.json 's dependencies
npm install <package_name> --save-dev
//add an entry to your package.json 's devDependencies
4. 包的安装
- 本地安装(locally)
npm install <package_name>
如果原来不存在,会在你的当前目录下生成 node_modules 文件夹并且在这个文件夹中下载该包。
查看 node_modules 目录中的包,确认是否成功安装包:
ls node_modules
- 全局安装(globally)
npm install <package_name> -g
当运行目录下没有 package.json 时,运行 npm install 会安装最新版本。存在 package.json 时则会安装 package.json 中记录的版本及 package_name。
package 会被安装在当前目录的 node_modules 文件夹时,当前目录没有 node_modules 文件夹时会自动创建。若 node_modules 存在已有模块则不会重复安装,即使不是最新版本。
5. 使用安装的包
例如安装了包 “lodash”:
npm install lodash
新建一个index.js 文件
var lodash = require('lodash'); //引入本地安装的包
var output = lodash.without([1, 2, 3], 1);
console.log(output);
命令行运行: node index.js
输出[2,3]
如果没有成功安装这个包,输出:
module.js:340
throw err;
^
Error: Cannot find module 'lodash'
6. 更新包
- 更新本地包:
npm update //在和你的package.json文件同目录的地方运行此命令行
- 更新全局包:
npm update -g <package_name> //更新特定的全局包
npm update -g //更新全部全局包
7. 卸载包
- 卸载本地包:
npm uninstall <package_name>
- 卸载本地包以及从package.json文件的dependencies或者devDependencies中删除:
npm uninstall --save <package_name>
npm uninstall --save-dev <package_name>
- 卸载全局包:
npm uninstall -g <package_name>
网友评论