webpack libraryTarget 'umd' 是否应该与 ES6 模块一起使用?

Cri*_*ano 5 javascript webpack babeljs

我正在尝试使用 webpack 分发基于节点的库。我已经看到大多数 js 库都可以用于:

commonJs 语法

const lib = require('library')

或 ES6 语法

import * as lib from "library"

我遵循了本教程,最终的 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"
    }
};
Run Code Online (Sandbox Code Playgroud)

虽然在浏览器上这个导入语句会导致一个空模块:

  import * as SepaJs from "./sepa.js"
Run Code Online (Sandbox Code Playgroud)

webpack 是否假设将基于 commonJs 的库导出到 ES6 模块库?我应该用 babel 编译它吗?我可以拥有一个包含两个模块解决方案的捆绑文件吗?