如何从jade模板文件传递变量到脚本文件?
如何从jade模板文件传递变量到脚本文件?
我在一个jade模板文件(index.jade)中遇到了一个问题,其中声明的变量(config)没有传递给一个javascript文件,这导致我的javascript崩溃。下面是文件(views/index.jade)的内容:
#{title}
var config = {};
config.address = '#{address}';
config.port = '#{port}';
这是我的app.js文件的一部分(服务器端):
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(__dirname + '/public'));
app.configure('development', function(){
app.set('address', 'localhost');
app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
});
app.configure('production', function(){
app.use(express.errorHandler());
});
// 路由
app.get('/', function(req, res){
res.render('index', {
address: app.settings.address,
port: app.settings.port
});
});
if (!module.parent) {
app.listen(app.settings.port);
console.log("服务器监听端口 %d", app.settings.port);
}
// 启动我的Socket.io应用并传入socket
require('./socketapp').start(io.listen(app));
这是我的javascript文件的一部分,导致崩溃(public/javascripts/app.js):
(function() {
var socket = new io.Socket(config.address, {port: config.port, rememberTransport: false});
})
我在本地主机上以开发模式(NODE_ENV=development)运行该网站。我使用node-inspector进行调试,它告诉我config变量在public/javascripts/app.js中未定义。
有什么想法吗?谢谢!