我正在尝试通过webpack分发基于节点的库。 我已经看到,大多数js库都可以与以下两者一起使用:
commonJs语法
const lib = require('library')
或ES6语法
import * as lib from "library"
我遵循了this tutorial,最终的webpack.config.js如下所示:
var path = require('path');
module.exports = {
entry: './index.js',
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'sepa.js',
library: 'sepajs',
libraryExport: 'default',
libraryTarget: 'umd',
umdNamedDefine: true,
globalObject: "typeof self !== 'undefined' ? self : this"
}
};
尽管在浏览器上,此import语句会导致一个空模块:
import * as SepaJs from "./sepa.js
webpack是否应该将基于commonJs的库导出到ES6模块库? 我是否必须使用babel对其进行编译?我可以同时使用两个模块解决方案捆绑文件吗?