Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在带有jade模板的Express.js中将公开对象用作值或辅助对象?_Javascript_Node.js_Express_Pug - Fatal编程技术网

Javascript 在带有jade模板的Express.js中将公开对象用作值或辅助对象?

Javascript 在带有jade模板的Express.js中将公开对象用作值或辅助对象?,javascript,node.js,express,pug,Javascript,Node.js,Express,Pug,我公开(出于测试目的)一个对象和一个命名函数: var express = require('express') , expose = require('express-expose') , app = express(); // ... // Expose with 'utils' namespace, default 'javascript' buffer app.expose({ foo: 'bar' }, 'utils'); // Expose named fun

我公开(出于测试目的)一个对象和一个命名函数:

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>

window.utils=window.utils | |{};
utils[“foo”]=“bar”;
函数foo(){return'bar';}

但是我想从Jade内部访问对象
{foo:'bar'}
函数foo(){return'bar';}
。据了解,这两种产品都有翡翠。。。但是在哪里?

您可以通过将局部变量添加到app.locals,将它们添加到您的jade templates应用程序范围内

app.locals.foo = function foo() { return 'bar'; }
就我而言,它们并不像字符串一样,作为适当的JS对象暴露给Jade。