如何在Jade模板中使用Javascriptvariables?

我正在使用IBM Bluemix为学校项目制作Web服务。

我的项目需要从API请求一个JSON,所以我可以使用它提供的数据。

我希望Jade模板使用来自API的数据编写string,但是我不能使用我的.js文件中定义的variables。

例如,我想写

“您的汇率是”+ CotacaoDolar

在jade文件的h1字段中,是“CotacaoDolar”.js文件中定义的一个variables。

这怎么可能呢?

这是我的.js文件:

/*eslint-env node*/ //------------------------------------------------------------------------------ // node.js starter application for Bluemix //------------------------------------------------------------------------------ // HTTP request - duas alternativas var http = require('http'); var request = require('request'); // cfenv provides access to your Cloud Foundry environment // for more info, see: https://www.npmjs.com/package/cfenv var cfenv = require('cfenv'); //chama o express, que abre o servidor var express = require('express'); // create a new express server var app = express(); // serve the files out of ./public as our main files app.use(express.static(__dirname + '/public')); // get the app environment from Cloud Foundry var appEnv = cfenv.getAppEnv(); // start server on the specified port and binding host app.listen(appEnv.port, '0.0.0.0', function() { // print a message when the server starts listening console.log("server starting on " + appEnv.url); }); app.get('/home1', function (req,res) { http.get('http://developers.agenciaideias.com.br/cotacoes/json', function (res2) { var body = ''; res2.on('data', function (chunk) { body += chunk; }); res2.on('end', function () { var json = JSON.parse(body); var cotacao = json["bovespa"]["cotacao"]; var CotacaoDolar = json["dolar"]["cotacao"]; var VariacaoDolar = json["dolar"]["variacao"]; var CotacaoEuro = json["euro"]["cotacao"]; var VariacaoEuro = json["euro"]["variacao"]; var Atualizacao = json["atualizacao"]; res.render('cotacao_response.jade', { message: 'A taxa de câmbio é de '+CotacaoDolar+' R$.Esse valor corresponde ao preço de venda em '+Atualizacao }); }); }); }); 

这是我的.jade文件:

 doctype html html(lang="en") head title Cotação link(rel='stylesheet',href='stylesheets/style.css') body h1!=message #container.col p Seu câmbio foi. p. 

在渲染包含variables的模板时,您只需传入一个对象即可。 这个值可以通过引用Jade模板中的键来访问。 所以要发送你的variables“CotacaoDolar”,你可以传入这个对象:

 res2.render('cotacao_response.jade', { 'CotacaoDolar': CotacaoDolar }); 

然后在你的Jade模板中,你可以创build如下的h1:

 h1 Your exchange rate is #{CotacaoDolar}