Использую Gulp + Browserify. Есть такой таск для сборки JS:
const scriptsServe = () => {
const alias = [
'all-page.js',
'index-page.js'
];
PATH.src.scripts.forEach((entry, index) => {
const bundle = browserify({
entries: entry
});
bundle.transform(babelify);
bundle.bundle()
.pipe(source(alias[index]))
.pipe(gulp.dest(PATH.dest.scripts));
});
};
И еще немного в package.json:
"browserify-shim": {
"jquery": "global:$"
},
"browserify": {
"transform": [ "browserify-shim" ]
}
Работает хорошо: создаются два файла. Один из них для главной страницы, другой для всех, включая главную. В обоих используются плагины, которым необходима библиотека jQuery, к сожалению. Так вот я бы хотел подключить её отдельным файлом, что я и сделал. Но возникает проблема: переменные $ и jQuery вроде как видны в обоих файлах, но Browserify почему-то все равно импортирует её в оба моих файла, даже если я нигде не напишу
import $ from 'jquery';
В итоге библиотека подключается три раза: один раз внешним скриптом, по одному разу импортируется в каждый мой js-файл. Что я делаю не так и как можно решить эту проблему?