npm发包

13 阅读2分钟

npm包发布流程

  • 在命令行查询 npm 的 registry,不能是其他的镜像地址,要是 npm 的官方地址,可执行npm config set registry 消除配置的镜像源
  • npm login 命令,会让你打开 npm 的网址,去登陆
  • npm whoami 查看当前登录用户,在 package.json 中"name": "@npmname/ee",以 npmname 这个用户名作为命名空间,不然直接命名 ee 会冲突
  • 执行 npm publish 后会报错,npm 官方之后会逐渐使用 2FA 认证,此时直接设开启 2FA 认证,设置 secrity key,然后执行 npm publish --access public 发布公共包

注册账号

首先需要去npm官网注册一个账号,此时得到一个账号名

准备一个要发布的包

// 首先初始化项目
npm init -y
// 目录生成一个package.json
// 写自己的逻辑,将相关方法暴露,配置打包命令等
{
  "name": "@npmname/ee", // npmname是npm账户名,此处作为命名空间
  "version": "1.0.0",
  "description": "描述",
  "main": "index.js",
  "scripts": {
    "lint": "eslint --quiet --ext js,vue .",
    "test": "_ENV='local' mocha test/**/*.js",
  },
  "repository": {
    "type": "git",
    "url": "https://git.code.tencent.com/xxxx.git"
  },
}

发包

// 在要发布的项目下打开终端
npm publish
// 会报错未开启2FA,因为packege.json是@xxx/xxx的形式,对这种类型安全校验高;现在npm推荐开启2FA,所以去npm官网开启即可
// npm官网-- 头像 -- Account -- Two-Factor Authentication, 按照提示要求配置开启即可
// 开启后,再重试发包
npm publish --access public // 发布为公共包

发包前怎么本地引用自己的SDK包

创建软连接

npm 网站上注册账号,将账号名字加到 ee 的 package.json 上的 name 中("name": "@npmname/ee")

在 ee项目 终端: npm link 将这整个包软链到系统里,系统里就会有这个包了

在引用的地方,npm link @npmname/ee,就引入了这个本地包,生成 node_modules,就可以本地调试