У меня возникла проблема с использованием Gulp для правильной сборки проекта RequireJS. Мне нужно сделать, чтобы gulp создал один файл дистрибутива, который включает только файл, необходимый для запуска приложения.Gulp + RequireJS Удалить файлы поставщика
В нашем приложении мы следуем модульному подходу, разбирая основные функциональные возможности в разные репозитории. Поэтому, развивая свою часть, у меня есть RequireJS, включая угловые и многие другие библиотеки поставщиков, которые являются общими для всех проектов в приложении. Однако, когда я собираюсь переместить часть в более крупное приложение, мне больше не нужны эти файлы в конечном выпуске, так как эти зависимости также существуют в этом приложении (и наличие этих дополнительных библиотек также делает окончательный файл распространения более 300 КБ).
Я пробовал создать еще один файл main.js (называемый gulp-main.js), который включает только те зависимости, которые мне нужны, но когда я запускаю процесс gulp, он терпит неудачу. Я не получаю ошибку, но, похоже, она терпит неудачу, потому что я не включаю необходимые зависимости для успешного построения проекта. Ниже представлен объект конфигурации, который передается методу оптимизации RequireJS.
var config = {
baseUrl: 'app/',
mainConfigFile: 'app/main.js',
out: 'dist/app/output.js',
name: 'main'
};
Любые идеи о том, что я мог сделать, чтобы либо удалить ненужные файлы поставщика или даже разделить их на одного поставщика и одного файла без поставщика будет действительно оценили. Я уже пробовал использовать параметр array modules, но это не приводит к результатам, которые я получаю после того, как кажется, что создается один файл для каждого элемента, определенного не одним скомпилированным JS-файлом со всеми скриптами, содержащимися внутри.
Заранее спасибо.
Это работает при использовании gulp.src но я пытаюсь изменить вывод вызова requirejs.optimize. Когда я запускаю это, он просматривает мой основной файл и создает библиотеку со всеми моими файлами, для которых требуется запустить файл в качестве отдельного приложения. Я видел примеры с использованием amdOptimize, но по-прежнему выглядит так, что у него такая же проблема. –