Привет коллеги!
Как в webpack сохранять имена подключаемых библиотек в глобальной области видимости?
Например я компилирую все библиотеки в один файл и в нем библиотека jQuery и плагин к нему dateRangePicker, к которому обращение как в основном файле скриптов app.js так и во внешних файлах html, jquery в глобальную область видимости вывел, но вот плагин dateRangePicker как метод в ней отсутствует:
Вот код конфига 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 полностью загружен и выполнен.
Заранее всех благодарю за помощь!