NodeJs-03-npm
npm
基本使用
# 创建 package.json 文件
npm init
package.json 内容示例
{
"name": "npm-demo", #包的名字
"version": "1.0.0", #包的版本
"main": "index.js", #包的入口文件
"scripts": { #脚本配置
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "", #作者
"license": "ISC",
"description": "" #包的描述
}
初始化的过程中还有一些注意事项:
package name( 包名 ) 不能使用中文、大写,默认值是 文件夹的名称 ,所以文件夹名称也不能使用中文和大写- version ( 版本号 )要求 x.x.x 的形式定义, x 必须是数字,默认值是 1.0.0
- ISC 证书与 MIT 证书功能上是相同的,关于开源证书扩展阅读
http://www.ruanyifeng.com/blog/2011/05/how_to_choose_free_software_licenses.htmlpackage.json可以手动创建与修改- 使用
npm init -y或者npm init --yes极速创建package.json
生产依赖与开发依赖
| 类型 | 命令 | 补充 |
|---|---|---|
| 生产依赖 | npm i -S uniq npm i --save uniq |
-S 等效于 --save, -S 是默认选项包信息保存在 package.json 中 dependencies 属性 |
| 开发依赖 | npm i -D less npm i --save-dev less |
-D 等效于 --save-dev包信息保存在 package.json 中 devDependencies 属性 |
打个比方
npm i uniq
npm i --save-dev less
{
"dependencies": { // 生产依赖
"uniq": "^1.0.1"
},
"devDependencies": { // 开发依赖
"less": "^4.4.2"
}
}
全局依赖
npm i -g nodemon // 这个包用来热启动
nodemon xxx.js
全局安装和局部安装的差异
- 全局安装的命令不受工作目录位置影响
- 使用方式不同:全局安装会暴露一个全局的命令去执行
- 安装位置不同:可以通过
npm root -g可以查看全局安装包的位置 - 只有全局工具适合全局安装
安装指定版本包与删除
# 安装
npm i <包名@版本号>
## 示例
npm i jquery@1.11.2
## 局部删除
npm remove uniq
npm r uniq
## 全局删除
npm remove -g nodemon
配置别名
配置 package.json 中的 scripts 属性
{
.
.
.
"scripts": {
"server": "node server.js --open",
"start": "node index.js", // 运行start可以不加 run
},
.
.
}
配置完成后,可以使用别名执行命令
npm run server
npm start === npm run start
npm start是项目中常用的一个命令,一般用来启动项目npm run有自动向上级目录查找的特性,跟require函数也一样(意思是如果当前目录没有package.json.scripts,会向上找,直到找到package.json.scripts)- 对于陌生的项目,我们可以通过查看
scripts属性来参考项目的一些操作
yarn
官方网址:https://yarnpkg.com/
yarn 安装及常用命令
# 安装
npm i -g yarn
# 初始化
yarn init / yarn init -y
# 安装包
yarn add uniq # 生产依赖
yarn add less --dev # 开发依赖
yarn global add nodemon # 全局安装
# 删除包
yarn remove uniq # 删除项目依赖包
yarn global remove nodemon # 全局删除包
# 安装项目全部依赖
yarn
# 运行命令别名
yarn <别名> # 不需要添加 run
yarn 的 package.json
{
"name": "yarn-demo",
"version": "1.0.0",
"main": "index.js",
"license": "MIT"
}
yarn 全局安装包不能用的问题
- 先查看 yarn 全局位置在哪
yarn global bin - 将这个文件夹配置到环境变量
yarn 配置淘宝镜像
yarn config set registry https://registry.npmmirror.com/
# 查看 yarn 配置项
yarn config list