Привет! Есть сайт, на определенных страницах которого подключаются js-плагины через CDN (типа swiper.js, lightgallery.js и т.д.). И есть пользовательские скрипты, в которых я эти плагины инициализирую, настраиваю и т.д. Они также подключаются на определенных страницах.
Так вот эти пользовательские скрипты я webpack-ом объединил в один бандл и подключаю на каждой странице. Вроде всё работает, но в консоли браузера всё равно выходят ошибки, так как бандл теперь на всех страницах подключается, а те скрипты, которые через CDN загружаются, не на всех страницах, а только там, где они нужны.
Поэтому в консоли, на страницах, где, например, swiper.js (который CDN) не подключен, всплывают ошибки типа "Uncaught ReferenceError: Swiper is not defined". Хотя всё работает. Кто-нибудь знает как эти ошибки в консоли убрать?
Вот мой webpack.config.js:
const path = require('path');
module.exports = {
devtool: 'source-map',
entry: './app/src/index.js',
output: {
path: path.join(__dirname, 'dist'),
filename: 'bundle.js',
publicPath: '/dist/'
},
module: {
rules: [
{
test: /\.js/,
use: [
{
loader: 'babel-loader',
options: {
presets: ["env", "stage-3"]
}
}
]
}
]
},
externals: {
'jquery': 'jQuery'
}
}
Вот точка входа index.js:
import $ from 'jquery';
import main from '../js/main.js';
main();
import home from '../js/home.js';
home();
import infrastructure from '../js/infrastructure.js';
infrastructure();
import managment from '../js/managment.js';
managment();
import services from '../js/services.js';
services();
import products from '../js/products.js';
products();
import fuelstations from '../js/fuel-stations.js';
fuelstations();
jQuery у меня через CDN подключается, поэтому указываю в externals. Предполагаю, что остальные плагины, которые тоже через CDN подключаются тоже нужно как-то указать, чтоб они при сборке учитывались, но в сам бандл не загружались. Думаю тогда и ошибок в консоли не будет.
Помогите, что нужно сделать? В чем проблема?