我正在尝试在使用 video.js 的应用程序中将 Webpack 从版本 1 升级到版本 3库,我想将 videojs
作为全局变量公开给我的脚本。
在我的 webpack.config.js
文件的 plugins
部分中,我有以下内容:
plugins: [
new webpack.ProvidePlugin({
videojs: 'video.js'
})
]
现在,举个例子,如果我想使用 registerPlugin
函数,我必须执行类似的操作(因为 videojs.registerPlugin
是 undefined
):
videojs.default.registerPlugin(...);
我不明白为什么我需要在此处包含 default
!
我尝试使用数组语法:
plugins: [
new webpack.ProvidePlugin({
videojs: ['video.js', 'videojs']
})
]
但现在我的 videojs
全局变量是未定义
。
在当前应用程序中,我有 ProvidePlugin
的第一个语法,并且 videojs
变量在全局可用,但我不明白 Webpack 版本 3 中有什么不同.我在这里缺少什么?
感谢任何帮助, 谢谢
最佳答案
所以,我找到了解决问题的方法。我得到的线索是我需要通过 default
属性访问 registerPlugin
。因此,在 webpack.config.js
中,我可以准确地提供:
plugins: [
new webpack.ProvidePlugin({
videojs: ['video.js', 'default']
})
]
现在,我可以直接访问videojs.registerPlugin
函数了:)
关于javascript - 将 video.js 库与 Webpack 的 ProvidePlugin 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46246314/