【问题标题】:Import Javascript object into jade将Javascript对象导入jade
【发布时间】:2015-12-31 05:44:42
【问题描述】:

我已经阅读并重新阅读了玉参考和一大堆堆栈溢出问题,但我似乎无法弄清楚这一点,我认为它应该非常简单。

所以我想要做的就是在 JavaScript 文件中创建一个对象,并将其导入到我的翡翠文件中,这样我就可以在生成我的 html 页面时使用来自该对象的数据。

例如:

这将在一个 JS 文件中:

 var obj = {
  firstName: "bob",
  lastName: "smith",
  age: 109

};

在我的翡翠中,我想这样做:

h1 #{obj.firstName}, #{obj.lastName}
h2= obj.age

等等

这只是一个简单的例子。任何帮助都将不胜感激。

我会简单地在我的玉中创建对象,但我希望对象被格式化,每个项目都在自己的行上(为了便于阅读),玉doesn't currently support that

在那个链接上,有人提到了一个我根本不理解的解决方案:“所以我通过在 grunt-contrib-jade 中传递数组而不是将其直接放入模板中来完成我想要的。还让我得到摆脱 grunt-sed"

我正在使用 codekit 将我的玉编译成静态 html,而不是 Node.JS。

【问题讨论】:

  • 如何将对象传递到我的玉文件中?我想要的只是将数据存储在我可以在我的玉文件中使用的对象中。这会自动与翡翠一起工作,但有一个小问题,对象必须在一条线上。它会这样写: -var obj = {firstName: "bob", lastName: "smith"};但我需要它像上面显示的那样位于多行,所以有人告诉我可以将对象放在单独的 javascript 文件中,而不是直接放在我的玉文件中。但我不知道如何做到这一点。
  • 你有没有想过如何做到这一点? :s

标签: javascript pug


【解决方案1】:

如果您将对象转换为 JSON 格式,则可以完成此操作。

来自command line arguments上的文档:
-O, --obj <path|str> JavaScript options object or JSON file containing it

示例:

user.json

{
  "firstName": "bob",
  "lastName": "smith",
  "age": 109
}

你会像这样编译你的模板:

$ jade myTemplate.jade --obj user.json

或者如果你使用 Gulp 和 gulp-jade:

.pipe(jade({
  locals: require('user.json')
}))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-07
    • 1970-01-01
    • 2013-03-15
    • 2015-04-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多