LingYanSi / blog

博客
https://github.com/LingYanSi/blog/issues
9 stars 0 forks source link

npm #61

Open LingYanSi opened 7 years ago

LingYanSi commented 7 years ago

npm工作机制

阮一峰 命令介绍 文档

常用配置

# 设置全局包安装位置
npm config set prefix "/usr/local"

# 官方仓库
npm config set registry https://registry.npmjs.org/

# 淘宝镜像
npm config set registry https://registry.npm.taobao.org

常用命令


npm config set loglevel=http # 打印所有http请求

npm list packageName

npm update

npm i / install

npm uninstall

# 初始化一个npm项目
npm init

# npm升级
npm update -g npm

# npm卸载
npm uninstall -g npm

# 显示全局node_modules位置
npm root -g

设置全局安装软连接位置

npm config set prefix "/usr/local/"
LingYanSi commented 7 years ago

npm install

这里 本地安装 npm

  1. 将安装包放在 ./node_modules 下(运行npm时所在的目录)
  2. 可以通过 require() 来引入本地安装的包

全局安装 npm i -g

  1. 将安装包放在 /usr/local 下
  2. 可以直接在命令行里使用

这就是为什么webpack/gulp之类的需要全局安装也需要本地安装的原因了

LingYanSi commented 7 years ago

发布npm包

LingYanSi commented 7 years ago

node-sass安装失败

这里有解决方案 node-sass的一个坑,直接使用npm安装后,还需要对原文件进行编译,这两个尝试安装一直提示 download form http://xxxx 失败 后来看到cnpm把node-sass也镜像了,然后使用cnpm安装,速度挺快

LingYanSi commented 7 years ago

npm升级包

npm i npm-check -g

使用三方包npm-check -u来升级安装包

LingYanSi commented 7 years ago

安装beta版本

安装最版本 npm i packagename@beta

npm包位置

本地安装包的位置就在当前目录下的node_modules内


## 全局安装包使用--save,如此,在安装pack的时候,也会把依赖包安装进去
一般用于开放的npm包
npm i xx --save  

## 一般业务用--save-dev
npm i xx --save-dev

全局安装包在 ~/.npm/下,对于cnpm来说,其位置在包安装结束的时候会被打印出来

LingYanSi commented 7 years ago

(1)采用全局模式安装

npm install -g (3)在mac中全局的目录

//安装包所在目录 /usr/local/lib/node_modules/ //运行命令的软链接所在目录 /usr/local/bin (4)查看安装包路径

//查看当前包的安装路径 npm root //查看全局的包的安装路径 npm root -g (5)设置全局模式安装目录

//设置后,以全局模式将会安装在此目录中,不过需要手动加入PATH,切记 npm config set prefix //设置npm缓存文件的存放路径 npm config set cache (6)查看默认模式

//默认返回:false
$ npm get global $ npm config get global (7)设置为默认以全局模式安装,就不用每次加”-g”参数啦。

$ npm set global=true $ npm config set global=true

LingYanSi commented 3 years ago

npm version

# 发一个beta版本的包 v1.8.2-beta.0
npm version prerelease --preid beta

# beta包版本号自增 v1.8.2-beta.1
npm version prerelease

# bug修复
npm version patch

# 新功能,保持向后兼容性
npm version minor

# 破坏性升级,大版本
npm version major

package.json中scripts的prepublish 可以作为 npm publish 的钩子,做一些发布前的前置操作