在其他本地人的gulp-jade locals中使用变量

时间:2016-10-31 20:53:21

标签: gulp pug locals

我的问题如下:我试图重构网站并将所有字符串替换为某些变量,因此当我更改变量时,它会在整个网站上发生变化。但是,问题出现了:

我有多个Json文件中的数据,我通过gulp得到它:

var locals = {
// Content
someContent: require('../data/content-path.json'),
someOtherContent: require('../data/other-content-path.json'),
};

gulp.task('jade:pages', function() {
    return gulp.src(pages)
        .pipe(plumber())
        .pipe(jade({
            locals: locals
        })
        .on('error', notify.onError({
            title: 'Jade Error',
            message: '<%= error.message %>'
        })))
        .pipe(gulp.dest('dist'));
});

所以我可以轻松地从Jade访问任何键#{someContent.key1}。

但是,如果我想在someOtherContent中使用someContent中的某个键,则将其呈现为字符串(不解析变量)。

somecontent写入

{
    "key1" : {
        "subkey1": "5",
        "subkey2": "9"
    },
    "key2":"<p>Some markup which parsed as html if desirable</p>",
}

someOtherContent

{
    "title": "#{someContent.key1.subkey1} some other text"
}

因此,如果我直接在Jade中使用它,它可以完美地运行,但如果我将它用作#{someOtherContent.title},它就无法解析这样的引用,并且它输出完全

"#{someContent.key1.subkey1} some other text"

当我希望它输出时

"5 some other text"

我能在这做些什么才能让它发挥作用?任何帮助都非常感谢。 谢谢大家。

0 个答案:

没有答案