Имам Angular проект с потенциално много модули. Всеки модул има своя собствена директория с поддиректории за контролери, директиви, услуги и т.н. Нещо подобно:
src
|-- js
|-- modules
|-- moduleOne
| module.js
|-- controllers
| listController.js
| detailController.js
|-- directives
| listItem.js
| summaryWidget.js
|-- filters
|-- services
| moduleService.js
Моята компилация по същество обединява и компилира файлове от src/ и поставя в dev/, след което минифицира файловете в dev/ и се премества в prod/. По време на dev сървърът сочи към папката dev/, а в производството сървърът сочи към папката prod/ (също защо файловете завършват на .min.js, въпреки че са само компилирани/конкатирани). Този процес работи добре.
В момента моята concat задача е да грабна всички файлове в moduleOne/ и да създам един файл moduleOne.js в моята dev директория. Ето какво искам да се случи, но по-динамично:
concat: {
modules: {
files: {
"dev/js/modules/moduleOne.min.js": [
"src/js/modules/moduleOne/*.js",
"src/js/modules/moduleOne/**/*.js"
],
"dev/js/modules/moduleTwo.min.js": [
"src/js/modules/moduleTwo/*.js",
"src/js/modules/moduleTwo/**/*.js"
]
}
}
}
Проблемът е, че трябва да правя това за всеки модул, но не мислете, че ще трябва.
Опитах се да направя следното, защото това е нещо, което искам да направя:
concat: {
modules: {
files: [{
expand: true,
cwd: "src/js/modules",
src: "**/*.js",
dest: "dev/js/modules",
ext: ".min.js"
}]
}
}
Но резултатът беше, че всичките ми файлове и структура на директории се преместиха от src/ към dev/. По принцип използвах concat, за да направя копие, но не ми помогна.
Бих искал да направя нещо подобно:
concat: {
modules: {
files: [{
expand: true,
cwd: "src/js/modules",
src: "**/*.js",
dest: "dev/js/modules/<foldername>.min.js", <- how do I achieve this?
}]
}
}
Четох много, но изглежда, че се доближавам само до намирането на отговора и имам проблеми с обединяването на концепциите. Голяма част от това, което намирам, са само единични файлове в нова директория с преименуване. Бих искал няколко файла в един файл в нова директория с преименуване. Защото така се въртя :)