在app.js之外调用app.locals
Calling app.locals outside of app.js
通常,通过声明app.locals
变量,如下所示,我可以在jade模板中使用该变量。
// app.js
var express = require('express');
var app = express();
app.locals.varName = 'blah blah'
我希望将app.local.varName
移到一个外部文件(即:vars.js)中,然后将它们导入到app.js中以供使用。我熟悉导出模块/需求系统,但我不知道如何使变量变为"活动"以供使用。这就是我目前所掌握的:
// vars.js
module.exports = {
all : {
var express = require('express');
var app = express();
app.locals.varName = 'blah blah'
}
}
然后导入回app.js:
// app.js
var variables = require('./vars');
var variables2 = variables.all()
variables2
然而,我的翡翠模板仍然无法识别varName
变量。
导出中的all
似乎无效。但这应该很容易解决。这里的问题可能是因为本地人被添加到了一个从all()
创建的单独的应用程序中,而不是你在app.js中使用的应用程序。试着这样修改你的代码(传递你正在使用的app
):
app.js
var express = require('express');
var app = express();
var variables = require('./vars');
variables.all(app)
console.log(app.locals);
vars.js
module.exports = {
all : function(app){
app.locals.varName = 'blah blah'
}
}
输出
{ [Function: locals]
settings:
{ 'x-powered-by': true,
etag: true,
env: 'development',
'subdomain offset': 2,
view: [Function: View],
views: '/home/hadoop/views',
'jsonp callback name': 'callback',
'json spaces': 2 },
varName: 'blah blah' }
玩过之后,我发现了我想要的东西:
// vars.js
module.exports = {
all : function() {
var siteName = 'blah blah'
return siteName;
}
};
// app.js
var express = require('express');
var app = express();
app.locals.whateverName = require('./vars').all();
然后,在jade模板中,您可以简单地调用=whateverName
来获得废话输出。
试试这个。。。
var app = express();
var variables = require('./vars')(app);
和
module.exports =function(app) {
app.locals.varName = 'blah blah'
}
相关文章:
- 如果从onclick()内部调用app.open,则它没有响应
- 在 app.locals 上设置属性和调用 app.set() 有什么区别?
- 在模型可用之前调用使用 app.filter 的自定义筛选器
- Rally App SDK 2.0:在rallymultiobjectpicker重新筛选存储中由托管侦听器调用vali
- 在app.js之外调用app.locals
- Metro Style App:如何从 Web 视图控件中运行的 JavaScript 代码调用 C# 方法
- Node.js Express - app.all(“*”, func) 在访问根域时不会被调用
- 调用require(['app'])仅一次
- app.js显示错误:TypeError:无法调用方法'查询'为null
- 如何在expressjs中从html页面调用app.js函数
- angularjs-如何调用app.controller中的另一个控制器
- 从node.js中的模块内调用app.js的函数
- 调用()从我的app.meteor.com
- 如何在AngularJS中组织一些Utils文件以从app.config中调用
- 如何用api调用来构建React App的所有登录、注册和主页
- 如何从我的ejs模板调用app.js中定义的函数?
- 为什么在我对Google App Engine数据的调用中不能访问Angular's $scope ?
- Java Web App + Javascript -无需servlet调用即可在客户端浏览器上更新信息
- AngularJS:如何避免-从app.js调用的广播事件被触发两次
- Chrome app - 使用 GAE channel javascript API 调用 channel.open()