繁体   English   中英

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

[英]Using variables in gulp-jade locals from other 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"

我在这里可以做什么使其工作? 任何帮助都非常感谢。 谢谢大家。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM