2016-05-20 3 views
0

У меня возникла проблема с использованием 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-файлом со всеми скриптами, содержащимися внутри.

Заранее спасибо.

ответ

0

Если вы не хотите, чтобы какой-либо файл был на вашем конечном выходе. добавить " ! " в ЦСИ вашего глотка задачи в

примера:

gulp.src(['./app/*.js', '!./node_modules/**']) // '!./vendor-libraries-dest to igonore' 
+0

Это работает при использовании gulp.src но я пытаюсь изменить вывод вызова requirejs.optimize. Когда я запускаю это, он просматривает мой основной файл и создает библиотеку со всеми моими файлами, для которых требуется запустить файл в качестве отдельного приложения. Я видел примеры с использованием amdOptimize, но по-прежнему выглядит так, что у него такая же проблема. –