发布到 npm 上

147 阅读2分钟

js自定义工具函数库

代码打包准备工作

  1. 安装 node
  2. 创建项目
     # 创建一个空的项目文件夹: atguigu-utils
     # 在文件夹下执行命令
     npm init -y
    
  3. 下载依赖包
     npm i webpack webpack-cli
    
  4. 配置webpack
       webpack.config.js
    
       const path = require('path')
       module.exports = {
       // 模式
       mode: 'development', // 也可以使用 production
       // 入口
       entry: './src/index.js', 
       // 出口
       output: {
          // 打包文件夹
          path: path.resolve(__dirname, 'dist'),
          // 打包文件
          filename: 'atguigu-utils.js', 
          // 向外暴露的对象的名称
          library: 'aUtils',
          // 打包生成库可以通过esm/commonjs/reqirejs的语法引入
          libraryTarget: 'umd', 
       },
       }
    
  5. 在入口JS中暴露功能
  6. 配置打包命令
    "scripts": {
      "build:watch": "webpack --watch"
      },
    
  7. 对项目进行打包 npm run build:watch

发布到npm中央仓库

  1. 完善 package.json
    注意:
       name: 必须是唯一的名称(在npm在线中央仓库中没有同名的)
       main: 必须指定为打包生成的js文件
       keywords: 指定一些方便别的程序员搜索到当前库的关键字
    
       {
          "name": "utils",
          "version": "1.0.0",
          "author": "xfzhang",
          "description": "自定义工具函数库",
          "keywords": [
             "atguigu",
             "utils",
             "array",
             "object",
             "function",
             "string",
             "axios",
             "event-bus",
             "pub-sub",
             "promise"
          ],
          "main": "dist/atguigu-utils.js",
          "license": "MIT",
          "scripts": {
             "build:watch": "webpack --watch",
             "build": "webpack"
          },
          "devDependencies": {
             "webpack": "^5.10.0",
             "webpack-cli": "^4.2.0"
          }
       }
    
  2. npm配置
    npm配置的中央仓库不能是淘宝镜像
    发布前必须执行: npm config set registry https://registry.npmjs.org/
    不用发布时: npm config set registry http://registry.npm.taobao.org/
    查看配置: npm config list
    
  3. 注册npm中央仓库账号 注册地址: www.npmjs.com/
  4. 添加用户
    执行: npm addUser || npm login
    登陆npm仓库
    依次指定用户名/密码/邮箱
    
  5. 发布仓库 npm publish
  6. 更新代码后再发布
    修改项目库的版本号: package.json 中的version 从1.0.0 改为1.0.1, 注意一定要变大
    修改代码后重新打包: npm run build
    执行发布: npm publish
    
  7. 强制删除已发布的库
    执行: npm unpublish --force
    注意: 必须在72小时内, 否则不能再删除