我正在从grunt迁移到gulp并希望使用gulp-processhtml(目前正在使用grunt-processhtml)。我以与grunt相同的方式传递参数,但是找不到传递的变量。
Gulp代码:
var environment = 'dev';
var processHTMLOptions = {
options: {
process: true,
data: {
message: 'Processed HTML',
env: `environment: "${environment}",`
}
}
};
gulp.task('html:dist', () => {
return gulp.src('./src')
.pipe(processHTML(processHTMLOptions))
.pipe(gulp.dest('./build'));
});
和HTML:
<!-- build:template
<%= message %>
<%= env %>
/build -->
我得到的错误:
((__t = ( message )) == null ? '' : __t);
^
ReferenceError: message is not defined
答案 0 :(得分:1)
我能够找出问题所在。与grunt-processhtml不同,gulp-processhtml只希望在没有任何其他元素的情况下传递选项数据(&#39;选项&#39;)。以下是如何将变量传递给gulp-processhtml的示例:
var processHTMLOptions = {
process: true,
data: {
message: 'Processed HTML',
version: `code_version: "${pkg.version}",`,
env: `environment: "${environment}",`
}
};