2017-09-15 95 views
0

我想在使用video.js庫的應用程序中將Webpack從版本1升級到版本3,並且我想將videojs作爲全局變量公開給我的腳本。使用videopack.js庫與Webpack的ProvidePlugin

在我webpack.config.js文件中,在我的plugins節,我有這樣的:

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

現在,作爲一個例子,如果我想使用registerPlugin功能,我必須做這樣的事情(因爲videojs.registerPluginundefined):

videojs.default.registerPlugin(...); 

我不明白爲什麼我需要包括default這裏!

我試圖使用數組語法:

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

但現在我的videojs全局變量是undefined

在當前的應用程序中,我有ProvidePluginvideojs變量的第一個語法全局可用,但我不明白Webpack版本3中有什麼不同。我在這裏缺少什麼?

任何幫助表示讚賞, 謝謝

回答

0

所以,我發現瞭如何解決這個問題。我得到的線索是因爲我需要通過default屬性訪問registerPlugin。現在

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

,我可以訪問videojs.registerPlugin功能直接:)

:那麼,在 webpack.config.js,我可以提供正是