将中间人变量传递给 grunt 文件
pass middleman variable to grunt file
我的中间人模板有一个 'id' 变量,我将我的 html 电子邮件工作名称放入其中。
我知道如果我将我的中间人 erb 文件从 index.html.erb 更改为 newName.html.erb,它会将其输出为最终文件名。
我的问题是我的大部分 g运行t 任务都需要我希望它们在 运行 上的文件名(我试过使用 *.html,但它仅适用于某些任务)并且在启动 g运行t 之前在 g运行t 文件中编辑它,如果我更改 erb 文件名,它们将不会执行。
有没有办法传递 g运行t 'id' 变量来命名中间人正在输出的文件,并将该变量插入各种任务中,以便他们也接受它作为文件名?
这是我的 g运行t 配置:
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'
}]
}
}
});
您应该将您的变量存储在一个 JSON 文件中并将其导入到 Middleman 和 Grunt 中。
我的中间人模板有一个 'id' 变量,我将我的 html 电子邮件工作名称放入其中。
我知道如果我将我的中间人 erb 文件从 index.html.erb 更改为 newName.html.erb,它会将其输出为最终文件名。
我的问题是我的大部分 g运行t 任务都需要我希望它们在 运行 上的文件名(我试过使用 *.html,但它仅适用于某些任务)并且在启动 g运行t 之前在 g运行t 文件中编辑它,如果我更改 erb 文件名,它们将不会执行。
有没有办法传递 g运行t 'id' 变量来命名中间人正在输出的文件,并将该变量插入各种任务中,以便他们也接受它作为文件名?
这是我的 g运行t 配置:
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'
}]
}
}
});
您应该将您的变量存储在一个 JSON 文件中并将其导入到 Middleman 和 Grunt 中。