原文: http://hubcarl.github.io/blog/2018/03/22/npm/

npm 初始化 package.json

npm init

npm install 安装

  • npm install
npm instal

同时安装 package.json 配置 dependenciesdevDependencies 依赖,本地开发安装模式

  • npm install –prodcution
npm instal --prodcution

只会安装 package.json 配置 dependencies 依赖, 线上部署安装方式

npm 查看指定 pakcage 最新版本

npm view <package> version

npm 查看 pakcage 所有版本

–json : 可以完整显示所有版本号, 如果不加的这个,当版本号较多时, 会显示不全,直接显示 …..

npm view <package> versions --json

npm 查看 pakcage 所有发布的 tag

npm dist-tag ls <package>

npm 发布模块

npm publish
  • npm publish 默认是把包发到 latest tag, 与 npm publish --tag latest 是一个意思

  • npm install <package> 都是安装 latest tag 包

npm 发布指定 tag

npm publish --tag next

当我们正在开发的包还不具备正式发布,但先发布用来测试,我们可以通过此种方式进行发布。 其他人通过 npm install 不受影响, 但可以显示指定安装 npm install <package>@next

npm 把指定 tag 发布到 latest

npm dist-tag add <package>@<version> latest
npm dist-tag add easywebpack@4.0.0 latest

npm 发布历史版本号

当我开发了一个 node 模块 easywebpack 时, 发布了 1.0.0, 2.0.0, 3.0.0(latest) 版本时, 现在 2.0.0 版本有一个 bug 修复, 该如何发布版本呢?

  • 首先在 2.0.0 的 tag 或者 branch checkout 一个 2.0.1 bugfix 分支

  • 修改完 bug 和 补充单元测试后, 开始发布代码

  • 如果直接 npm publish, 这个时候 latest 就是 2.0.1, 而不是 3.0.0, 这个时候大家通过 npm install easywebpack 安装的就是 2.0.1

  • 如果我已经这样做了,怎样快速让 latest 最新版本为 3.0.0, 可以这样做:

npm dist-tag add easywebpack@3.0.0 latest

此时 latest 版本恢复到 3.0.0, 刚发布的 2.0.1 版本依然有效。 当大家项目 package.json 依赖写的时 ^2.0.0 时, npm install 安装时, 安装的是 2.0.1 版本。这个时候大家通过 npm install easywebpack 安装的就是 3.0.0.

你可以通过 npm publish --tag 2.x 方式发布历史版本。

  • 修复历史版本的问题发布建议方式

我们可以在 2.0.0 分支的 package.json 里面加上如下配置

{
  "publishConfig":{
    "tag": "2.x"
  }
}

加上以上配置,我们就可以愉快的使用 npm publish 了,不用再担心版本发错了。

修改 package.json 版本号

  • 递增一个修订号
npm version patch

1.0.0 -> 1.0.1

  • 递增一个次版本号
npm version minor

1.0.0 -> 1.1.0

  • 递增一个主版本号
npm version major

1.0.0 -> 2.0.0

包发布到 Organizations

npm publish –access public

npm 清除缓存

npm cache clean --force

npm 指定 registry

npm install --registry https://registry.npm.taobao.org

npm5 的 npx

npx: npm 5.2.0 内置的包执行器,可以直接运行本地 node_modules 安装的命令。 在这之前, 我们要在命令行直接运行一些命令,比如 easywebpack-cli , 就必须 npm install -g easywebpack-cli 全局安装的方式安装依赖才能在命令行直接运行命令。 有了 npx 我们不必全局安装了, 只要项目 package.json 依赖里安装的 easywebpack-cli 依赖, 我们可以直接 npx easy 运行。

  • 全局安装
npm install -g  easywebpack-cli

命令行运行: easy build

  • 本地安装
npm install  easywebpack-cli

命令行运行: npx easy build

检查本地更新

  • 使用
npm outdated

  • 安装 npm-check 插件

安装npm-check:

npm install -g npm-check

检查npm包的状态:

npm-check -u

https://www.npmjs.com/package/npm-check

快速初始化一个 npm 模块

git clone https://github.com/hubcarl/npm-package-template
  • NPM Package Code Tempalate

  • ESlint Rule Template ESlint

  • NPM Unit Test Template chai

  • Code Coverage Template codecov

  • CI Build Config Template travis

  • Changelog Create Template conventional-changelog


Author: sky
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint polocy. If reproduced, please indicate source sky !
 Previous
页面资源加载 页面资源加载
首屏测试window.addEventListener('DOMContentLoaded', ()=>{ const t = window.performance.timing; console.log('first pain time[painTime-navigationStart]:', window.painTime - t.navigationStart); console.log(...
2019-10-20 sky
Next 
Hybrid系列-phonegap android框架详解 Hybrid系列-phonegap android框架详解
原文:http://hubcarl.github.io/blog/2015/04/19/hybrid-phonegap/首先, 来看一下phonegap 初始化流程以及Native 与 JS 交互流程图。说明:socket server模式下, phonegap.js 源码实现的采用1 毫秒执...
2019-10-20 sky