我正在尝试将WebPack从版本1升级到使用Video.js库的应用程序中的版本3,我想将videojs
作为我脚本的全局变量公开。<<<<<<<<<。/p>
在我的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
全局变量是undefined
。
在当前应用程序中,我有ProvidePlugin
的第一个语法,并且videojs
变量在全球可用,但是我不明白WebPack版本3中有什么不同?我在这里缺少什么?
任何帮助都将不胜感激,谢谢
所以,我发现了如何解决问题。我得到的线索来自我需要通过default
属性访问registerPlugin
的事实。因此,在webpack.config.js
中,我可以准确地提供:
plugins: [
new webpack.ProvidePlugin({
videojs: ['video.js', 'default']
})
]
现在,我可以直接访问videojs.registerPlugin
函数:)