从EMP2升级到EMP3

背景

EMP3已经处于发布状态并落地在线上项目之中,经过多项目与EMP2比对,首次构建速度提升80%,二次构建速度提升60%,产物包体积缩小25%以上。

升级步骤

1.卸载 @efox/emp

npm
yarn
pnpm
bun
npm remove @efox/emp
TIP

项目存在的其他 @efox/xxx 依赖,都可以一并移除。

2.安装 @empjs/cli

npm
yarn
pnpm
bun
npm add @empjs/cli -D

3.修改 package.json

EMP3 建议使用 ESM 模块系统,在package.json中添加如下配置

package.json
"type": "module",

4.修改 emp-config.js

TIP

配置文件名也可以使用 typescript emp.config.ts文件

4.1 模块引入格式调整

EMP2.x的配置默认使用 commonjs 模块规范,升级 EMP3 首要是把commonjs的模块引用方式修改为ESM的引用方式,则 requiremodule.exportsexports 改为 importexportexport default

4.2 模块返回结果调整

EMP3配置需要返回 defineConfig 函数的执行结果,调整如下:

emp-config.js
import { defineConfig } from '@empjs/cli'

export default defineConfig(async ({ mode }) => {
// 构建逻辑
    return {
        // 最终配置
    }
}

详细配置可以参考 DEMO,其中用到的相关插件可以在 插件 中查看使用说明。