@tonyshow

Как в webpack сохранить имя подключаемых jQuery библиотек глобально, например $.dateRangePicker вместо имени подставляемого webpackom?

Привет коллеги!

Как в webpack сохранять имена подключаемых библиотек в глобальной области видимости?
Например я компилирую все библиотеки в один файл и в нем библиотека jQuery и плагин к нему dateRangePicker, к которому обращение как в основном файле скриптов app.js так и во внешних файлах html, jquery в глобальную область видимости вывел, но вот плагин dateRangePicker как метод в ней отсутствует:

5ca1fae10bdda116724109.jpeg

Вот код конфига Webpack:

{
      context:  params.path.src,
      entry: {
        app: [
          "webpack/hot/dev-server",
          (`${__dirname}/src/index.js`)
        ],
        global: [
          "webpack/hot/dev-server",
          (`${__dirname}/src/global.js`)
        ],
      },
      output: {
        filename: params.$.isDev ? `[name].js` : `[name].[hash].js`,
        publicPath: params.$.isDev ? `http://${params.devServer.host}:${params.devServer.port}${params.path.publicPath}` : params.path.publicPath,
        path: path.join(params.path.public, params.path.assets),
      },
      plugins: [
        new webpack.ProvidePlugin({
          $: 'jquery',
          jQuery: 'jquery',
          moment: 'moment',
        }),
      ]
    },


Вот код app.js:

import $ from 'jquery';
import moment from 'moment';
import 'jquery-ui';
import 'jquery-ui/themes/base/all.css';
import 'jquery-ui-touch-punch';
import dateRangePicker from 'jquery-date-range-picker';
import 'jquery-date-range-picker/dist/daterangepicker.min.css';
import 'lazyload';
import IMask from 'imask';

window.$ = $;
window.jQuery = $;
window.moment = moment;
// window.dateRangePicker = dateRangePicker;


Во внешнем HTML скрипты срабатывают по пользовательскому событию, которое сигнализирует, о том что скрипт app.js полностью загружен и выполнен.

Заранее всех благодарю за помощь!
  • Вопрос задан
  • 113 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы