【问题标题】:Import CSV/JSON in jade在jade中导入CSV/JSON
【发布时间】:2015-07-10 02:39:25
【问题描述】:

我使用jade作为静态网站的模板引擎,所以我没有使用任何快速服务器。 我想导入一个 csv 或 json 文件以在我的模板中加载数据。使用快速服务器可以很容易地完成,但没有一个我不知道如何做到这一点。

作为临时解决方案,我像这样手动加载数据:

- var arr = []
- arr.push(['hello', 'world', 'foo', 'bar'])
- arr.push(['hello1', 'world1', 'foo1', 'bar1'])
- arr.push(['hello2', 'world2', 'foo2', 'bar2'])
- arr.push(['hello3', 'world3', 'foo3', 'bar3'])
- arr.push(['hello4', 'world4', 'foo4', 'bar4'])

- for (var i; i < arr.length; ++i) {
  div
     h1=arr[i][0]
     // some more jade
- }

相反,我正在寻找这样的东西:

- var arr = require('./data.csv')

- for (var i; i < arr.length; ++i) {
  div
     h1=arr[i][0]
     // some more jade
- }

有没有办法在玉中做到这一点?

非常感谢

【问题讨论】:

  • require 通常在 nodejs 中找到,但是有几个第三方应用程序可以将此功能扩展到浏览器,例如 browserfyjs 但是我不确定翡翠是否可以访问这些插件,因为它们不是在代码到达客户端之前可用。如果您的服务器上安装了翡翠,我假设它作为一种预处理器运行,在这种情况下,它无法在编译时访问窗口函数。不确定这一点,但如果你使用 php 调用玉编译器,你可以得到 php 中的 csv 解析它到一个数组,然后将它传递给玉。或使用 JSON 并将 json 传递给玉
  • 我看到你没有使用 Express,而是使用 Node.js 来提供模板?
  • 我想这就是你要找的吧? github.com/pugjs/pug/issues/3012

标签: node.js pug


【解决方案1】:

来自Jade Docs

在节点中:

var list = require('./list.json'),
    jade = require('jade');

// Compile a function
var fn = jade.compileFile('./index.js', options);

// Render the function
var html = fn(list);

// serve html response however you currently serve rendered jade

locals 将是您的导入对象。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-02-26
    • 2016-08-28
    • 1970-01-01
    • 2015-12-21
    • 1970-01-01
    • 1970-01-01
    • 2020-09-09
    相关资源
    最近更新 更多