已转译的​​ webpack 捆绑包不会通过 require 导出带连字符的包名称

Transpiled webpack bundle does not export hyphenated package name via require

我正在将 fluent-ffmpeg 导入到一个文件中:import ffmpeg from 'fluent-ffmpeg'

在 运行 webpack 之后,我收到这个错误: Uncaught Exception: ReferenceError: fluent is not defined

我查看了转译后的文件,发现 fluent-ffmpeg 是这样包含的: function(e,t){e.exports=fluent-ffmpeg}

将行更改为:function(e,t){e.exports=require("fluent-ffmpeg")} 程序运行。

有没有办法配置 webpack 在转译时正确地要求 fluent-ffmpeg

编辑:我正在使用这个 electron react webpack 样板来构建桌面应用程序 - https://github.com/chentsulin/electron-react-boilerplate

更新: 我创建了一个 repo 来显示错误 - https://github.com/the4dpatrick/congenial-barnacle. The difference between electron-react-boilerplate and this repo can be seen in a single commit

查看错误:

我可以通过简单地将 output.libraryTarget 设置 within webpack.config.electron.js 文件设置为 commonjs2.

来解决问题
output: {
    path: path.join(__dirname, 'dist'),
    filename: 'bundle.js',
    libraryTarget: 'commonjs2'
  },

有关详细信息,请阅读:chentsulin/electron-react-boilerplate#232