使用rollup打包时,如何忽略regeneratorRuntime
使用rollup打包工具库,工具库中使用了async/await特性
发现生产构建打包时,会把regeneratorRuntime也打进去
我希望regeneratorRuntime的引入由使用者在各自的业务项目代码中去配置引用,应该怎么配置?
由此问题延伸,不止async/await特性,包括其他es6-8特性
如果在打包工具类库时,就把所有的ployfill都打包进去了
开发者在使用这个类库时,又于业务项目中配置了babel等编译工具,这样不就会导致ployfill重复导入了吗?
打包工具类库的最佳实践是怎么样的呢?
// babel配置
{
"presets": ["@babel/env", "@babel/preset-typescript"],
"plugins": [
"@babel/proposal-class-properties",
"@babel/proposal-object-rest-spread",
"@babel/plugin-transform-runtime"
]
}
rollup 打包配置
export default {
// 核心选项
input: 'src/index.ts',
plugins: [
resolve({
customResolveOptions: {
moduleDirectory: 'node_modules'
}
}),
commonjs({
sourceMap: false
}),
eslint(),
babel({
runtimeHelpers: true,
extensions: ['js', 'ts'],
include: ['src/**/*'],
exclude: 'node_modules/**'
})
],
external: ['axios'],
output: {
file: 'dist/index.js',
format: 'umd',
name: 'xxx',
globals: {
axios: 'axios'
}
}
};
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论