Как использовать префиксные имена файлов при использовании grunt сборки
Я вернул этот вопрос в его первоначальном виде, чтобы он был более читабельным для будущих читателей.
У меня есть некоторые задачи по сборке в моем Gruntfile.js
assemble: {
options: {
flatten: true,
layoutdir: 'test-templates/meta_test_templates',
partials: [
'test-templates/general_includes/**/*.hbs',
'test-templates/users/**/*.hbs',
'test-templates/content/**/*.hbs']
},
webmaster_crud: {
options: { layout: 'webmaster_crud.hbs' },
dest: '../compiled-tests/content/webmaster/',
src: ['test-templates/content/content_types/*.hbs']
}
}
Я хочу префикс каждого из выходных файлов со словом webmaster
Таким образом, результат будет:
/compiled-tests/content/webmaster/webmaster_file1.html
/compiled-tests/content/webmaster/webmaster_file2.html
etc
Пакеты, установленные в моем файле package.json
"devDependencies": {
"assemble": "^0.7.3",
"grunt": "^0.4.5",
"grunt-assemble": "^0.4.0",
"grunt-contrib-clean": "^0.7.0"
}
ОБНОВЛЕНИЕ 19/1/16 Я включил весь объект сборки, переданный моему grunt.initConfig, и включил зависимости в package.json.
ОБНОВЛЕНИЕ 12/1/16 без комментариев expand
команда и включенное последующее сообщение об ошибке
ОБНОВЛЕНИЕ 12/1/16 вернул вопрос к его оригинальной форме без дополнительной ошибки, которую я обнаружил, не включая переменную пути в функцию.
1 ответ
Мне не совсем понятно, о чем вы просите, однако я думаю, что вы, возможно, ищете, это вариант переименования Grunt. Следующая конфигурация может дать желаемый результат:
var path = require('path');
webmaster_crud: {
options: {
layout: 'webmaster_crud.hbs'
},
expand: true,
flatten: true,
rename: function (dest, matchedSrcPath) {
var filename = 'webmaster_' + path.basename(matchedSrcPath);
return path.join(dest, path.dirname(matchedSrcPath), filename);
},
dest: './compiled-tests/content/webmaster/',
src: ['test-templates/content/content_types/*.hbs']
}