利用unbuild 打包组件库
安装 unbuild
bash
npm install unbuild -D修改 package.json
增加了 build 和 stub 命令
main、module、types 指向 dist 目录
json
{
"name": "demo2",
"version": "1.0.0",
"description": "",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"build": "unbuild",
"stub": " unbuild --stub"
},
"keywords": [],
"author": "",
"license": "ISC",
"packageManager": "pnpm@10.26.0",
"devDependencies": {
"unbuild": "^3.6.1"
},
"main": "./dist/index.cjs",
"module": "./dist/index.mjs",
"types": "./dist/index.d.ts"
}服务架构
- 架构目录
bash
├── build.config.ts // 打包配置文件
├── package.json // npm 包文件
├── src // 开发源码文件
│ └── index.ts // 入口主文件build.config.ts
ts
import { defineBuildConfig } from "unbuild";
export default defineBuildConfig({
// 忽略警告
failOnWarn: false,
// 构建的入口文件
entries: ["src/index.ts"],
// 是否生成声明文件
declaration: true,
// 是否清理输出目录
clean: true,
// 打包配置
rollup: {
// 打包格式 两种都打 mjs,cts
// mjs 主要是 引入的时候 是import { xxx } from 'xxx' 格式
// cjs 主要是 引入的时候 是const { xxx } = require('xxx') 格式
emitCJS: true,
},
});src/index.ts
ts
export default {
a: 1,
b: 2,
c: 7,
add() {
return this.a + this.b + this.c - 10;
},
};执行打包命令
bash
npm run build- 这个命令和打包什么的无关.仅仅是监听
bash
npm run stub测试
新建一个文件夹
- 执行命令
bash
pnpm init安装包命令
bash
pnpm add file: ../demo2 // 这里是安装本地包 你自己的包鲁姆新建两个文件
- src 目录下面 新建 index.js 测试mjs
js
import demo2 from "demo2";
console.log(demo2.add());- src 目录下面 新建cjs.js 测试cjs
js
const demo1 = require("demo1");
console.log(demo1.add());运行
- 运行import那个文件 就修改package.json下面的type
bash
"type": "module"- 运行命令
bash
node ./index.js- 运行require那个文件 就修改package.json下面的type
bash
"type": "commonjs"- 运行命令
bash
node ./cjs.js插件发布到npm
- 登录
bash
npm login- 发布
bash
npm publish更新
如果要是更新的话,先删除原来的,然后重新打包
接着把package.json里面的版本号新的版本号 必须比原先的大
然后重新发布
使用
- 安装
bash
npm install 你的包名- 使用
js
import demo2 from "demo2";
console.log(demo2.add());