转载

npm 学习总结

npm(Node Package Manager)是 Node.js 默认的、以 JavaScript 编写的软件包管理系统。它可以让 javascript 开发者能够更加轻松的共享代码或共用代码片段(或称为模块)。

官方网站: www.npmjs.com

npm 提供了两种包的安装形式: 局部安装全局安装 。你可以通过你的项目使用情况选择如何安装。 如果你的项目依赖于某个包,那么建议将改包安装到局部。其他其他条件下,比如你要在命令行工具中使用这个包,可选择在全局安装。

常用的命令(命令行下输入)

  • 查看当前 npm 的版本号
npm -v
  • 安装包
# 本地安装
npm install package-name

# 全局安装
npm install -g package-name

安装一个包后,会自动在本地或全局自动生成一个 node_modules 目录,用来存放安装的包。

添加 --save 标识命令,会将你安装的包写入你本地 package.json 文件内的 dependencies 键下。 更多用法点这里!

npm install --save package-name
  • 查看包的根目录(node_modules 目录)的绝对路径
# 查看本地包所在的绝对目录
npm root

# 查看全局包所在的绝对目录
npm root -g
  • 查看包的 package.json 信息
npm view package-name

也可在上面命令后面添加相应的参数查看相关的信息。

# 查看当前包的依赖关系
npm view package-name dependencies
  • 查看包的使用信息
# 查看本地(当前项目)使用的包
npm list

# 查看全局使用的包
npm list -g
  • 卸载包
# 卸载本地包
npm uninstall package-name

# 卸载全局包
npm uninstall -g package-name
  • 更新包
# 更新本地包
npm update package-name

# 更新全局包
npm update -g package-name

谈谈 package.json 文件

每一个包都有一个 package.json 文件,这个文件 存放了包的名称、版本、作者、机构、模块入口、依赖项等信息

创建一个 package.json 文件有两种方式:一种方法是直接在文本编辑器下创建并编辑 package.json 文件,另一种方法是在命令行下创建 npm init

# 在当前工作目录下以用户引导的方式创建一个全新的 package.json 文件
npm init

至于 package.json 文件的内容,可以命令行下输入命令 npm help json 打开帮助文档,根据实际需要自行初始化文件内容即可。下面列出了常用的配置项。

{
  "name": "package-name",
  "version": "1.0.0",
  "main": "./main.js",
  "description": "This is a description for my package!",
  "keywords": [
    "first-package",
    "test"
  ],
  "bugs": {
    "url": "https://github.com/owner/project/issues",
    "email": "percymong@163.com"
  },
  "author": {
    "name": "percy",
    "email": "percymong@163.com",
    "url": "https:xxxx"
  },
  "contributors": [{
    "name": "Mike",
    "email": "1111@gmail.com"
  }, {
    "name": "Celeste",
    "email": "2222@gmail.com"
  }],
  "license": "MIT",
  "engines": {
    "node": ">= 0.8.0"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/xxx/xxx.git"
  },
  "bin": {
    "someTool": "./bin/someTool.js"
  },
  "scripts": {
    "test": "echo This is a test!",
    "startNormal": "./bin/someTool.js build",
    "startUseBin": "someTool build"
  },
  "dependencies": {
    "csslint": "^1.0.5",
    "mongodb": "1.3.19"
  },
  "devDependencies": {
    "browserify": "~13.0.0",
    "karma-browserify": "~5.0.1"
  }
}

下面是对其中一些字段的解释:

  • main 字段: 指明了模块入口文件的相对路径, 默认为 index.js
  • engines 字段: 指明依赖的 node.js 版本
  • repository 字段: 指明源码托管地址
  • bin 字段: 用来指定各个内部命令对应的可执行文件的位置
  • scripts 字段: 指定了运行脚本命令的 npm 命令行缩写,比如 start 指定了运行 npm run start 时所要执行的命令
  • dependencies 字段: 指定了项目运行所依赖的模块
  • devDependencies 字段: 指定项目开发所需要的模块

本来想把上面的注释直接写在上面代码的相应位置上,但是解析 json 时会报错,便在网上查了一下,在 StackOverflow 上找到了答案: How do I add comments to package.json for npm install?

# 解决办法,你应该这样写注释
{
  "//": "This is a comment for name.",
  "name": "package-name",
  "version": "1.0.0"
}

参考资料

  • 【教程】 package.json文件
  • 【文章】 npm入门文档
原文  http://blog.percymong.com/2016/12/23/npm-summary/
正文到此结束
Loading...