Edit:
你可以使用这个:
import(/* webpackIgnore: true */'/ffmpeg/ffmpeg-webm.js').then(({default: ffmpeg}) => {
//Do what you want to do with ffmpeg
});
这将阻止 webpack 编译导入(因此它将是常规的 ES6 导入)
原答案:
您忘记在页面中包含外部脚本。
另外,由于您指出您的文件非常大,我建议将其延迟包含
所以你需要添加
<script src="/ffmpeg/ffmpeg-webm.js" defer></script>
到应用程序的头部,然后您将使用带有回调的导入函数稍微不同地导入它
import('/ffmpeg/ffmpeg-webm.js').then(ffmpeg => {
//Do what you want to do with ffmpeg
});
小注意事项:externals key 不需要是文件的路径,它只是导入时使用的名称,因此如果您对路径感到困惑,请重命名它
module.export = {
//...
externals: {
"ffmpeg-webm": "ffmpeg"
}
}
//Then import
import('ffmpeg-webm').then(ffmpeg => {
//Do what you want to do with ffmpeg
});
或者对于 Node js,您可以使用而不是使用外部
const ffmpeg = __non_webpack_require__('/ffmpeg/ffmpeg-webm.js')
请记住,这会将其转换为仅适用于 Node js 的正常需求