npm init
以后一路 nextnpm install --production
安装 package.json 里已经声明了依赖(只安装 dependencies)npm install
安装 package.json 里已经声明了依赖(包括:devDependencies 和 dependencies)国内 npm 官方源慢,用 nrm 能够切换成淘宝的 npm 镜像源html
nrm can help you easy and fast switch between different npm registries, now include: npm, cnpm, taobao, nj(nodejitsu), rednpm.node
$ npm install -g nrm
git
$ nrm use cnpm //switch registry to cnpm Registry has been set to: http://r.cnpmjs.org/
nrm 的原理是修改 npm 的registr
配置,cnpm
是 fork 一个子进程实现的(听说有问题没有用过,感受在发布时会省点事,nrm 还得切回去)github
# 建议不要用 cnpm 安装 会有各类诡异的bug 能够经过以下操做解决 npm 下载速度慢的问题 npm install --registry=https://registry.npm.taobao.org
alias cnpmi='npm install --registry=https://registry.npm.taobao.org/'
Building fresh packages
,npm 包用到的附加没法下载?一些 npm 包须要一些附件,这些附件一般在配置文件的 script 的 preinstall、install 或 postuninstall 中去下载,但由于墙或者网络的缘由这些附件可能会没法下载或下载的很慢,因此得切换到国内的源才能得到极致的体验。sql
例如 puppeteer 的进行了以下配置在安装的时候下载 chromium:chrome
{ "name": "puppeteer", ... "scripts": { ... "install": "node install.js", ... }, ... },
puppeteer_download_host "https://npm.taobao.org/mirrors" sass_binary_site "https://npm.taobao.org/mirrors/node-sass/" phantomjs_cdnurl "http://cnpmjs.org/downloads" electron_mirror "https://npm.taobao.org/mirrors/electron/" sqlite3_binary_host_mirror "https://foxgis.oss-cn-shanghai.aliyuncs.com/" profiler_binary_host_mirror "https://npm.taobao.org/mirrors/node-inspector/" chromedriver_cdnurl "https://cdn.npm.taobao.org/dist/chromedriver"
npmnpm
npm config set puppeteer_download_host=https://storage.googleapis.com.cnpmjs.org
或 yarnjson
yarn config set puppeteer_download_host https://npm.taobao.org/mirrors
或.npmrc
api
echo 'PUPPETEER_DOWNLOAD_HOST = https://npm.taobao.org/mirrors' >> .npmrc
参见:但愿添加 chromium 镜像源 · Issue #1246 · cnpm/cnpmjs.orgsass
安装,卸载模块
npm install 模块名
:安装模块(写入 package.json 中 dependencies 下的对应信息)
npm uninstall 模块名
:删除模块(删除 package.json 中 dependencies 下的对应信息)
[--save-dev]
写入,删除 package.json 中 devDependencies 下的对应信息
(dependencies:通常是运行时用到的模块,devDependencies:通常是开发时用到的工具的模块)
查找是否安装某模块
npm 模块名 -v
查看安装的模块
npm list [-g] [-depth n]
-g:查看全局安装的模块
-depth n:展现 n 层模块的依赖
PS:升级 npm 到最新版本npm install npm@latest -g
在 npm 社区注册
npm adduser
:输入用户名密码和邮箱登录
npm whoami
:查看登录的用户
配置package.json
配置.npmignore
(未配置则使用.gitignore
)
!!!发布前确保您的包能够安装和使用(下面细说一下如何在本地测试待发布的 npm 包)
npm publish
:发布
其实 npm 包就是一个带有package.json
的文件夹。。
cd %my-package% npm install . -g # 当前包安装到全局
或者
cd %my-package% npm link # 当前包链接到全局(当前包状态改变,全局会跟着改变)
cd %some-other-folder% npm install %my-package%
npm version 版本号
:肯定版本号(格式:主版本号. 次版本号. 修订号)(能够为 major | minor | patch 等)
代码状态 | 阶段 | 规则 | 例 |
---|---|---|---|
首次发布 | 新做品 | 从 1.0.0 开始 | 1.0.0 |
向后兼容的 Bug 修复 | Patch release | 增长最右边第一个数字 | 1.0.1 |
向后兼容的新特性 | Minor release | 增长中间数字,并将最后一位数重置为零 | 1.1.0 |
没法向后兼容的更改 | Major release | 增长第一个数字,并将中间和最后一个数字重置为零 | 2.0.0 |
参见:
使用 npm 的安全检查。
# 检查 npm audit [--json|--parseable] # 解决 npm audit fix [--force|--package-lock-only|--dry-run|--production|--only=dev]