Transpiled webpack包不会通过require导出带连字符的包名称

时间:2016-05-29 00:48:51

标签: javascript node.js ecmascript-6 webpack fluent-ffmpeg

我将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

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

更新 我创建了一个回购来展示错误 - https://github.com/the4dpatrick/congenial-barnacle。可以在electron-react-boilerplate

中看到single commit与此回购之间的差异

要查看错误:

  • npm i
  • 打包电子应用(npm run package
  • 打开发布目录下的应用程序。
  • 警告随错误打开

1 个答案:

答案 0 :(得分:1)

我只需将output.libraryTarget设置within webpack.config.electron.js文件设置为commonjs2即可解决问题。

output: {
    path: path.join(__dirname, 'dist'),
    filename: 'bundle.js',
    libraryTarget: 'commonjs2'
  },

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