- 添加自动模式切换(开发/生产) - 启用 Tree Shaking 移除未使用代码 - 加快编译速度(transpileOnly) - 添加打包体积监控 - 自动清理旧文件 - 添加打包优化文档
56 lines
1.2 KiB
Markdown
56 lines
1.2 KiB
Markdown
# Webpack 打包优化说明
|
||
|
||
## 优化内容
|
||
|
||
### 1. 自动模式切换
|
||
- 开发模式:保持源码可读性
|
||
- 生产模式:自动压缩代码
|
||
|
||
### 2. 性能优化
|
||
- **Tree Shaking**:移除未使用的代码
|
||
- **transpileOnly**:跳过类型检查,加快编译速度
|
||
- **自动清理**:每次打包自动删除旧文件
|
||
|
||
### 3. 体积监控
|
||
- 单文件超过 2MB 会发出警告
|
||
- 帮助及时发现打包体积问题
|
||
|
||
## 使用方法
|
||
|
||
### 开发模式
|
||
```bash
|
||
# 编译(不压缩)
|
||
pnpm run compile
|
||
|
||
# 监听模式(自动重新编译)
|
||
pnpm run watch
|
||
```
|
||
|
||
### 生产模式
|
||
```bash
|
||
# Windows
|
||
set NODE_ENV=production && pnpm run package
|
||
|
||
# macOS/Linux
|
||
NODE_ENV=production pnpm run package
|
||
```
|
||
|
||
## 打包结果
|
||
|
||
- **输出目录**:`dist/`
|
||
- **入口文件**:`dist/extension.js`
|
||
- **静态资源**:`dist/assets/`
|
||
|
||
## 性能对比
|
||
|
||
| 模式 | 体积 | 编译速度 | Source Map |
|
||
|------|------|----------|------------|
|
||
| 开发 | 较大 | 快 | 完整 |
|
||
| 生产 | 小 | 较慢 | 隐藏 |
|
||
|
||
## 注意事项
|
||
|
||
1. 开发时使用 `pnpm run watch`,修改代码自动重新编译
|
||
2. 发布前必须使用生产模式打包
|
||
3. 如果打包体积超过 2MB,检查是否引入了不必要的依赖
|