Spec-Zone.ru › webpack 4

ProvidePlugin

Автоматически загружать модули вместо необходимости import или require их повсюду.

new webpack.ProvidePlugin({
  identifier: 'module1',
  // ...
});

или

new webpack.ProvidePlugin({
  identifier: ['module1', 'property1'],
  // ...
});

По умолчанию путь к модулям — текущая папка (./**) и node_modules).

Также можно указать полный путь:

new webpack.ProvidePlugin({
  identifier: path.resolve(path.join(__dirname, 'src/module1'))
  // ...
});

Всякий раз, когда identifier встречается как свободная переменная в модуле, module загружается автоматически, и identifier заполняется экспортом загруженного module (или property для поддержки именованных экспортов).

Для импорта стандартного экспорта модуля ES2015 необходимо указать свойство default модуля.

Использование: jQuery

Для автоматической загрузки jquery мы можем просто указать обе переменные, которые он предоставляет, соответствующему модулю node:

new webpack.ProvidePlugin({
  $: 'jquery',
  jQuery: 'jquery'
});

Затем в любом из наших исходных кодов:

// in a module
$('#item'); // <= just works
jQuery('#item'); // <= just works
// $ is automatically set to the exports of module "jquery"

Использование: jQuery с Angular 1

Angular ищет window.jQuery для определения присутствия jQuery, см. исходный код.

new webpack.ProvidePlugin({
  'window.jQuery': 'jquery'
});

Использование: Lodash Map

new webpack.ProvidePlugin({
  _map: ['lodash', 'map']
});

Использование: Vue.js

new webpack.ProvidePlugin({
  Vue: ['vue/dist/vue.esm.js', 'default']
});

© JS Foundation and other contributors
Licensed under the Creative Commons Attribution License 4.0.
https://v4.webpack.js.org/plugins/provide-plugin

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API