我的中间人模板有一个' id'我将html电子邮件作业名称放入的变量。
我知道如果我将中间人erb文件从index.html.erb更改为newName.html.erb,它会将其输出为最终文件名。
我的问题是,我的大部分grunt任务都需要我希望它们运行的文件名(我尝试使用* .html,但它只适用于某些任务)并且没有在grunt中编辑如果我改变了erb文件名,那么在开始grunt之前他们就不会执行文件。
有没有办法传递咕噜声' id'变量命名文件中间人正在输出,并将该变量插入各种任务,所以他们也接受这个文件名?
这是我的咕噜声配置:
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
// Build html
middleman: {
options: {
useBundle: true
},
server: {},
build: {
options: {
command: "build"
}
}
},
// Format html file
prettify: {
options: {
// Task-specific options go here.
},
one: {
src: 'build/index.html',
dest: '_output/index.html'
}
},
// Run the text converter
execute: {
simple_target_with_args: {
options: {
// execute node with additional arguments
args: ['_output/index.html']
},
src: ['node_modules/node-text-converter/converter.js']
}
},
'special-html': {
compile: {
files: {
'_output/index.html': '_output/index.html',
}
}
},
'phantomjs_screenshot': {
main: {
options: {
delay: 1000
},
files: [{
expand: true,
cwd: '_output',
src: ['**/*.html'],
dest: '_output/screenshots/',
ext: '.jpg'
}]
}
}
});
答案 0 :(得分:1)
您应该将变量存储在JSON文件中,并将其导入Middleman和Grunt。