我正在从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
最佳答案
我能够找出问题所在。与grunt-processhtml不同,gulp-processhtml只希望传递选项数据而没有任何其他元素(“ options”)。这是如何将变量传递给gulp-processhtml的示例:
var processHTMLOptions = {
process: true,
data: {
message: 'Processed HTML',
version: `code_version: "${pkg.version}",`,
env: `environment: "${environment}",`
}
};
关于javascript - 如何将变量传递给gulp-processhtml?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48412656/