发布npm之前增加打包工具构建压缩代码
parent
f2600b25e8
commit
dc9a864546
|
|
@ -23,6 +23,9 @@
|
||||||
"build": "rollup -c",
|
"build": "rollup -c",
|
||||||
"build:watch": "rollup -c -w",
|
"build:watch": "rollup -c -w",
|
||||||
"prepublishOnly": "npm run build",
|
"prepublishOnly": "npm run build",
|
||||||
|
"patch": "npm version patch",
|
||||||
|
"minor": "npm version minor",
|
||||||
|
"publish": "npm publish",
|
||||||
"postinstall": "echo 'Thanks for using our component library!'"
|
"postinstall": "echo 'Thanks for using our component library!'"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|
@ -48,6 +51,7 @@
|
||||||
"@rollup/plugin-commonjs": "^29.0.0",
|
"@rollup/plugin-commonjs": "^29.0.0",
|
||||||
"@rollup/plugin-json": "^6.1.0",
|
"@rollup/plugin-json": "^6.1.0",
|
||||||
"@rollup/plugin-node-resolve": "^16.0.3",
|
"@rollup/plugin-node-resolve": "^16.0.3",
|
||||||
|
"@rollup/plugin-terser": "^0.4.4",
|
||||||
"glob": "^13.0.0",
|
"glob": "^13.0.0",
|
||||||
"rollup": "^4.54.0"
|
"rollup": "^4.54.0"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ import resolve from '@rollup/plugin-node-resolve';
|
||||||
import commonjs from '@rollup/plugin-commonjs';
|
import commonjs from '@rollup/plugin-commonjs';
|
||||||
import json from '@rollup/plugin-json';
|
import json from '@rollup/plugin-json';
|
||||||
import babel from '@rollup/plugin-babel';
|
import babel from '@rollup/plugin-babel';
|
||||||
|
import terser from '@rollup/plugin-terser';
|
||||||
import { readFileSync, existsSync } from 'fs';
|
import { readFileSync, existsSync } from 'fs';
|
||||||
import path from 'path';
|
import path from 'path';
|
||||||
import { fileURLToPath } from 'url';
|
import { fileURLToPath } from 'url';
|
||||||
|
|
@ -195,6 +196,7 @@ const copyTypesPlugin = () => ({
|
||||||
* 3. commonjs - 转换 CommonJS 模块
|
* 3. commonjs - 转换 CommonJS 模块
|
||||||
* 4. json - 解析 JSON 导入(但被标记为 external,不会实际转换)
|
* 4. json - 解析 JSON 导入(但被标记为 external,不会实际转换)
|
||||||
* 5. copyTypesPlugin - 复制类型和样式文件
|
* 5. copyTypesPlugin - 复制类型和样式文件
|
||||||
|
* 6. terser - 代码压缩
|
||||||
*/
|
*/
|
||||||
const plugins = [
|
const plugins = [
|
||||||
// 模块解析插件 - 解析 node_modules 中的模块
|
// 模块解析插件 - 解析 node_modules 中的模块
|
||||||
|
|
@ -215,7 +217,24 @@ const plugins = [
|
||||||
json(),
|
json(),
|
||||||
|
|
||||||
// 自定义插件 - 复制类型和样式文件
|
// 自定义插件 - 复制类型和样式文件
|
||||||
copyTypesPlugin()
|
copyTypesPlugin(),
|
||||||
|
|
||||||
|
// 代码压缩插件
|
||||||
|
terser({
|
||||||
|
compress: {
|
||||||
|
drop_console: false, // 保留 console
|
||||||
|
drop_debugger: true, // 移除 debugger
|
||||||
|
pure_funcs: [], // 不移除任何函数调用
|
||||||
|
passes: 2 // 压缩次数
|
||||||
|
},
|
||||||
|
format: {
|
||||||
|
comments: false, // 移除注释
|
||||||
|
beautify: false // 不美化代码,保持压缩格式
|
||||||
|
},
|
||||||
|
ecma: 2015, // 目标 ECMAScript 版本
|
||||||
|
module: true, // 保留 ES 模块格式
|
||||||
|
toplevel: false // 不压缩顶层作用域
|
||||||
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue