rollup配置
import bable from "rollup-plugin-babel";
export default {
input: "./index.js", // 指定模块入口
output: {
name:"test",
file: "./dist/index.js",
format: "umd"
},
plugins: [
bable({
exclude: "node_modules/**"
})
]
};
babel配置
module.exports = {
"presets": [
[
"@babel/preset-env",
{
"useBuiltIns": "usage",
"corejs": 3,
"targets": [
"> 1%",
"last 2 versions",
"not ie <=8"
]
}]
]
};
index.js
[1, 2, 3, 0].map(item => {
console.log(item);
return new Promise(resolve=> {
resolve();
});
});
构建产物
(function (factory) {
typeof define === 'function' && define.amd ? define(['core-js/modules/es.array.map.js', 'core-js/modules/es.object.to-string.js', 'core-js/modules/es.promise.js'], factory) :
factory();
})((function () { 'use strict';
[1, 2, 3, 0].map(function (item) {
console.log(item);
return new Promise(function (resolve) {
resolve();
});
});
}));
为什么构建的产物中的core-js不会引入对应代码呢
babelHelpers 默认就是 bundled ,打成umi格式包时,需要配合
@rollup/plugin-node-resolve
和rollup-plugin-commonjs
这俩插件一起使用。参考: