我公开(出于测试目的)一个对象和一个命名函数:
var express = require('express')
, expose = require('express-expose')
, app = express();
// ...
// Expose with 'utils' namespace, default 'javascript' buffer
app.expose({ foo: 'bar' }, 'utils');
// Expose named function with 'funcs' buffer
app.expose(function foo() { return 'bar'; }, 'funcs');
JavaScript 变量创建得很好:
doctype 5
html(lang="en")
head
meta(charset='utf-8')
title
// Buffer 'javascript'
script!= javascript
// Buffer 'funcs'
script!= funcs
body
输出:
<!-- Buffer 'javascript'-->
<script>
window.utils = window.utils || {};
utils["foo"] = "bar";
</script>
<!-- Buffer 'funcs'-->
<script>
function foo() { return 'bar'; }
</script>
但是我想访问对象 { foo: 'bar' }
和 function foo() { return 'bar'; }
来自 Jade 内部。根据express.expose
两者都可以在 Jade 中使用...但是在哪里?
最佳答案
您可以通过将本地变量添加到 app.locals 来将本地变量添加到整个 Jade 模板应用程序中。
app.locals.foo = function foo() { return 'bar'; }
关于javascript - 在带有 jade 模板的 Express.js 中使用公开的对象作为值或助手?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16745756/