我如何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
呢?
答案 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代码保留在使用它的模板中。