已转译的 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
查看错误:
npm i
- 打包 electron 应用程序 (
npm run package
)
- 正在打开发布目录下的应用程序。
- 警报打开时出现错误
我可以通过简单地将 output.libraryTarget
设置 within webpack.config.electron.js
文件设置为 commonjs2
.
来解决问题
output: {
path: path.join(__dirname, 'dist'),
filename: 'bundle.js',
libraryTarget: 'commonjs2'
},
有关详细信息,请阅读:chentsulin/electron-react-boilerplate#232
我正在将 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
查看错误:
npm i
- 打包 electron 应用程序 (
npm run package
) - 正在打开发布目录下的应用程序。
- 警报打开时出现错误
我可以通过简单地将 output.libraryTarget
设置 within webpack.config.electron.js
文件设置为 commonjs2
.
output: {
path: path.join(__dirname, 'dist'),
filename: 'bundle.js',
libraryTarget: 'commonjs2'
},
有关详细信息,请阅读:chentsulin/electron-react-boilerplate#232