vue2打包lib如何打包成esmodule
时间: 2024-01-12 13:05:39 浏览: 26
要将Vue2打包成esmodule,你需要进行以下步骤:
1. 首先,在你的Vue2组件库中,将所有的导出语句改为ES6的模块导出方式,例如:
```
export const myComponent = {
// ...
};
```
2. 在package.json中,添加如下配置:
```
{
"main": "dist/my-library.common.js",
"module": "dist/my-library.esm.js",
// ...
}
```
这里的"main"字段指定了CommonJS模块的入口文件路径,"module"字段指定了ES6模块的入口文件路径。
3. 在webpack配置文件中,添加如下配置:
```
module.exports = {
// ...
output: {
filename: 'my-library.common.js',
libraryTarget: 'commonjs2'
},
// ...
}
```
这里的"libraryTarget"字段指定了打包输出的模块格式为CommonJS2。
4. 在webpack配置文件中,再添加一份配置:
```
module.exports = {
// ...
output: {
filename: 'my-library.esm.js',
libraryTarget: 'module'
},
// ...
}
```
这里的"libraryTarget"字段指定了打包输出的模块格式为ES6模块。
5. 运行webpack打包命令,即可生成两个文件:my-library.common.js和my-library.esm.js,分别对应CommonJS模块和ES6模块的导出方式。
注意:如果你的组件库中使用了Vue的template选项,那么在打包时需要使用vue-template-compiler将template编译为render函数,否则会导致打包失败。