js自定义工具函数库
代码打包准备工作
- 安装 node
- 创建项目
# 创建一个空的项目文件夹: atguigu-utils # 在文件夹下执行命令 npm init -y - 下载依赖包
npm i webpack webpack-cli - 配置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', }, } - 在入口JS中暴露功能
- 配置打包命令
"scripts": { "build:watch": "webpack --watch" }, - 对项目进行打包 npm run build:watch
发布到npm中央仓库
- 完善 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" } } - npm配置
npm配置的中央仓库不能是淘宝镜像 发布前必须执行: npm config set registry https://registry.npmjs.org/ 不用发布时: npm config set registry http://registry.npm.taobao.org/ 查看配置: npm config list - 注册npm中央仓库账号 注册地址: www.npmjs.com/
- 添加用户
执行: npm addUser || npm login 登陆npm仓库 依次指定用户名/密码/邮箱 - 发布仓库 npm publish
- 更新代码后再发布
修改项目库的版本号: package.json 中的version 从1.0.0 改为1.0.1, 注意一定要变大 修改代码后重新打包: npm run build 执行发布: npm publish - 强制删除已发布的库
执行: npm unpublish --force 注意: 必须在72小时内, 否则不能再删除