如何将变量传递给gulp-processhtml?

时间:2018-01-23 23:42:22

标签: javascript gulp processhtml

我正在从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

1 个答案:

答案 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}",`
    }
};