在Jade中需要一个javascript库

时间:2014-06-03 05:12:53

标签: node.js pug

我如何require一个库,以便它在Jade中运行。

如果我希望能够在Jade

中使用CircularJSON,那就好了
script var object = #{CircularJSON.stringify(object)}

I would basically need to define the function from that library into Jade

- var CircularJSON = function(e,t){function l(e,t,o){var u=[],...//whole function

这对于更复杂的库来说是不切实际的,也可能是不可能的。

有没有办法以某种方式简单require呢?

3 个答案:

答案 0 :(得分:3)

var myLib = require('../mylib');
response.render("index.jade", {
  lib  :  myLib
});

index.jade现在有myLib对象。现在就像你在其他任何地方一样使用。

答案 1 :(得分:2)

只需在节点中输入它并将其传递给locals中的模板即可。 locals可以包括函数以及整个模块,对象和标量数据。

答案 2 :(得分:0)

我喜欢采用类似Peter Lyons和胡志峰(在另一篇文章中)的方法,但是除了要求将所有内容都输入本地人之外,我只需要“ require”即可,然后我可以根据需要将其放入模板。

app.use((req, res, next) => { res.locals.require = require; next() })

然后在Jade / Pug中

- const moment = require('moment')
div Created at: #{moment(data.createdAt).fromNow()}

基本上是一样的东西,但是我可以将require代码保留在使用它的模板中。