使用 grunt assemble 时如何为文件名添加前缀
How to prefix file names when using grunt assemble
我已将此问题还原为原来的形式,以便未来的读者更具可读性。
我的 Gruntfile.js
中有一些 grunt-assemble 任务
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"
}
更新 2016 年 1 月 19 日
我已经包含了传递给我的 grunt.initConfig 的整个 assemble 对象,并且我已经包含了 package.json.
中的依赖项
更新 2016 年 12 月 1 日
未注释 expand
命令并包含随后的错误消息
更新 2016 年 12 月 1 日
已将问题返回到其原始形式,没有我在函数中不包含路径变量时发现的其他错误。
我不完全清楚您的要求,但我认为您可能正在寻找的是 Grunt 的 "rename" 选项。以下配置可能会产生您希望的结果:
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']
}
我已将此问题还原为原来的形式,以便未来的读者更具可读性。
我的 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"
}
更新 2016 年 1 月 19 日 我已经包含了传递给我的 grunt.initConfig 的整个 assemble 对象,并且我已经包含了 package.json.
中的依赖项更新 2016 年 12 月 1 日
未注释 expand
命令并包含随后的错误消息
更新 2016 年 12 月 1 日 已将问题返回到其原始形式,没有我在函数中不包含路径变量时发现的其他错误。
我不完全清楚您的要求,但我认为您可能正在寻找的是 Grunt 的 "rename" 选项。以下配置可能会产生您希望的结果:
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']
}