У меня есть проект 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/folder (также почему файлы заканчиваются на .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?
}]
}
}
Я читал много, но кажется, что я только приблизился к поиску ответа, и мне сложно свести эти понятия вместе. Много всего, что я нахожу, это всего лишь отдельные файлы в новый каталог с переименованием. Я хотел бы, чтобы несколько файлов в один файл в новый каталог с переименованием. Потому что, как я катаюсь:)