我想要创建一个npm库,它使用ES导入/导出来交付模块,而不是使用公共ES(例如,lodash-es )。如果我没有弄错,那么交付的代码必须是ES5,并且具有导入/导出。
我不知道怎么配置Babel来完成这个任务。我希望选项targets.esmodules能做到这一点。
当我在calc.js中有以下代码时
// calc.js
export function add (a, b) {
const result = a + b
return result
}和babel配置.babelrc
{
"presets": [
[
"@babel/preset-env",
{
"targets": {
"esmodules": true
}
}
]
]
}在运行babel时:
babel calc.js产出如下:
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.add = add;
function add(a, b) {
var result = a + b;
return result;
}这就是常识(exports.add)。targets.esmodules选项似乎没有效果。如何让Babel生成es模块(export function add)?还是我误解了在npm上提供ES模块的想法?
发布于 2019-08-04 15:52:37
https://stackoverflow.com/questions/57336878
复制相似问题