npm 包抽象封装并发布

58 阅读1分钟

前言

当发现一些能力可以用在不同的项目上,这个时候可以考虑把它抽离封装成底层能力,发布成 npm 包。

流程

package.json

  1. name 包名
  2. version 包版本号
  3. main 统一入口
{
    "name": "xxx",
    "version": "1.0.0",
    "main": "index.js" 
}

入口

外部能够使用的东西是入口文件导出的能力。

module.exports = {
    start: () => {}
}

路径

包里面引用的路径要区分好是包本身里面的文件还是外部项目的文件。

  1. process.cwd()
  2. __dirname

公共和业务抽离

将业务功能抽离到项目里面;公共能力放入包中,包再适当向外暴露能力,以支持业务功能运行。

路径别名

公共模块可以通过工程化手段给予路径别名让项目中可以直接引用到这些模块。

拓展能力

包里面一些配置支持自动合并外部项目的配置。

README

每个包建议写 README.md,介绍这个包的作用和基本使用。

发布

查看当前 npm 包注册地址

npm config get registry

设置包注册地址

npm config set registry

npm 登录

npm login

检查一下登录名

npm whoami

发布为公共仓库

npm publish --access public