Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将video.js库与Webpack';普罗维德普鲁金_Javascript_Webpack_Video.js_Webpack 2 - Fatal编程技术网

Javascript 将video.js库与Webpack';普罗维德普鲁金

Javascript 将video.js库与Webpack';普罗维德普鲁金,javascript,webpack,video.js,webpack-2,Javascript,Webpack,Video.js,Webpack 2,我正试图在一个使用该库的应用程序中将Webpack从版本1升级到版本3,我想将videojs作为全局变量公开到我的脚本中 在我的webpack.config.js文件中,在我的plugins部分中,我有以下内容: plugins: [ new webpack.ProvidePlugin({ videojs: 'video.js' }) ] 现在,作为一个例子,如果我想使用registerPlugin函数,我必须这样做(因为videojs.registerPlugin是未定义的)

我正试图在一个使用该库的应用程序中将Webpack从版本1升级到版本3,我想将
videojs
作为全局变量公开到我的脚本中

在我的
webpack.config.js
文件中,在我的
plugins
部分中,我有以下内容:

plugins: [
  new webpack.ProvidePlugin({
    videojs: 'video.js'
  })
]
现在,作为一个例子,如果我想使用
registerPlugin
函数,我必须这样做(因为
videojs.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
函数:)

plugins: [
  new webpack.ProvidePlugin({
    videojs: ['video.js', 'default']
  })
]