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

10-09 21:58