npm入门指南
2018-06-10 本文已影响0人
yfmei
npm入门(node.js package manage)
- js的包管理
- 三大组成部分
- 有网站界面可以搜索js包、管理配置文件、管理公开和私有的js包
- 有命令行工具
- 有一个JavaScript软件及其元信息的大型公共数据库
- 搜索js包, 可以按以下条件或者三种混合搜索
- 按下载量
- 质量 是否有readme文件、稳定、测试脚本、最新依赖、自己的网站等等
- 维护 社区是否活跃、有人维护
安装第三方js包
命令行安装
-
当前工程使用, 例如你只想通过require引用某一个js包
- 需要在index.js同级目录使用安装命令(和当前目录有关)
npm istall lodash --save
-
全局使用, 例如你想安装一个命令行工具(与当前目录无关)
npm install -g grunt
-
安装目录
- 安装在node_modules目录中, 如果没有会自动创建
通过package.json安装
-
手动创建package.json文件
- 必须要有name和version两个属性
{ "name": "my-awesome-package", "version": "1.0.0" }
-
通过命令行创建package.json
- 执行以下命令需要手动设置name, version等
npm init
- 创建默认package.json
- 命令
npm init -y
- 内容
{ "name": "webpack_demo", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC", "devDependencies": { "webpack": "^4.11.0" } }
- 安装依赖的包
- 安装生产必需包
npm install <package-name> --save
- 安装开发和测试需要的包
npm install <package-name> --save-dev
- 在package.json中添加依赖关系
{ "name": "my_package", "version": "1.0.0", "dependencies": { "my_dep": "^1.0.0" }, "devDependencies" : { "my_test_framework": "^3.1.0" } }
- package.json内容解析
- name: 目录名
- version: always 1.0.0
- description: ""或者readme.md中的内容
- main: index.js 入口文件
- scripts: 空的测试脚本
- keywords: empty
- author: empty
- license: ISC, 引用许可
- dependencies: 生产环境必需的包
- devDependencies: 开发和测试需要的包
- 可以重新设置package.json的内容
npm set init.author.email "wombat@npmjs.com"
更新包
-
查看依赖的包
npm ls
-
查看需要更新的包
# 查看本地 npm outdated # 查看全局 npm outdated -g --depth=0
-
更新所有本地包
npm update
卸载包
- 从node_modules移除
# 本地 npm uninstall lodash # 全局卸载 npm uninstall -g grunt
- 从node_modules移除, 冰衣橱package.json中的依赖关系(save-dev同理)
npm uninstall --save lodash
更新npm
npm install npm@latest -g