Javascript-форум (https://javascript.ru/forum/)
-   Сборка проекта, утилиты (https://javascript.ru/forum/server-tools/)
-   -   gulp перенос файлов (https://javascript.ru/forum/server-tools/50310-gulp-perenos-fajjlov.html)

l-liava-l 21.09.2014 03:18

gulp перенос файлов
 
Доброго времени суток!

Решил тут пересесть на gulp и никак не пойму:

gulp
    .src('./source_directory/**/*.js')
    .pipe(gulp.dest('./destination_directory'));


Вот этим незамысловатым скриптом мы переносим все js файлы из каталогов с любой вложенностью в указанную папку. А как сделать так, чтобы структура копировалась до определенного уровня?

Тоесть:
/
--globalDir/
----globalInDir.js
--global1.js
--global2.js
--librarys/
...
-modules/
--module1/
--module2/
---module.js
----moduleDir/
------moduleJsInDir.js
---- ...
....


А в итоге должны получить:

/
-app.js
-vendor.js
-modules/
--module1/
--module2/
---module2.js
....


Тобишь все глобальные js, css файлы собираются в корне, а файлы модулей остаюстя в корне самих модулей и с глобалом не пересекаются.

Как это сделать или куда копать? Заранее благодарен:)


зы

спрашиваю не как сконкатить, а именно как сделать такую структуру

melky 21.09.2014 12:33

помоему, так нельзя сделать простой конкатенацией файлов

запиливай сборщик модуле

l-liava-l 21.09.2014 13:16

Цитата:

помоему, так нельзя сделать простой конкатенацией файлов
Конкатенацией можно только слепить файлики)) а говорить откуда и куда их лепить нужно .src и .dest.

Можно сделать 2 задачи для сборщика;
1) Пройтись по всем папкам в корне (игнорируя папку модулей? как запилить игнор папки) и собрать все

2) Пройтись по папке с модулями но
Цитата:

запиливай сборщик модуле
Но он мне нужен не только там, а
я не хочу пилить для каждого из 10+ модулей отдельный таск,(а несколько сборщиков уж тем более) оно должно делаться автоматом.

Проблем бы небыло если бы я знал
а) Как исключить папку.. что то типо app/**[!modules/]/*.js
б) Как указать галпу что, например, файлы найденные в app/modules/**/*.js он оставлял в том модуле где нашел

Safort 21.09.2014 15:04

l-liava-l,
Цитата:

Решил тут пересесть на gulp
Давно пора)

Не знаю, поможет ли это, но всё же.
gulp.task('js', function() {
  gulp.src(['src/js/file1.js', 'src/js/file2.js'])
      .pipe(gulp.dest('build/js/azaza'))
  gulp.src(['src/js/file3.js', 'src/js/file4.js'])
      .pipe(gulp.dest('build/js'));
});


А вот как исключать файлы/директории мне и самому интересно)

l-liava-l 21.09.2014 15:42

Цитата:

А вот как исключать файлы/директории мне и самому интересно)
Да можно не исключать а просто подстроить каталоги в dev директории под галп. Но блин, мне лень.

Самый большой вопрос в том, как его заставить гонять по модулям и собирать js.css в этих модулях и копировать в папку c аналогичным навзанием но уже в public

melky 21.09.2014 16:14

Цитата:

Сообщение от l-liava-l
Самый большой вопрос в том, как его заставить гонять по модулям и собирать js.css в этих модулях и копировать в папку c аналогичным навзанием но уже в public

Use browserify, Luke

l-liava-l 21.09.2014 16:18

Цитата:

Use browserify, Luke
Ды джанго так же могет, я не хочу подключать файлики, нужно чтобы сами находились)

Или он и так может?


Часовой пояс GMT +3, время: 20:59.