簡體   English   中英

如何將變量從Express傳遞到Jade

[英]How to pass a variable from Express to Jade

我正在使用IBM Bluemix為學校項目提供Web服務。

我需要將一些變量從.js傳遞到.jade文件,但是這樣做很麻煩。

我知道我必須聲明一個包含變量的對象,然后使用

#{Variable}

在Jade模板中,但是我不知道為什么該方法對我的代碼不起作用。

可能導致此問題的原因是什么,如何解決它?

這是我的.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 UsdValue = json["dolar"]["cotacao"]; var UsdVariation = json["dolar"]["variacao"]; var CotacaoEuro = json["euro"]["cotacao"]; var VariacaoEuro = json["euro"]["variacao"]; var TimeOfUpdate = json["atualizacao"]; res.render('cotacao_response.jade', { 'UsdValue':UsdValue, 'TimeOfUpdate':TimeOfUpdate, 'UsdVariation':UsdVariation }); }); }); }); 

這是我的.jade代碼:

 doctype html html(lang="en") head title Cotação link(rel='stylesheet',href='stylesheets/style.css') body h1 Your exchange rate is #{UsdValue}. h1 The variation was #{UsdVariation}%. p The values were updated in !{TimeOfUpdate}. #container.col p p. 

您一開始沒有設置它。 它使它更容易

app.set('view engine', 'jade');

在渲染時:

res.render('cotacao_response', {
   'UsdValue':UsdValue,
   'TimeOfUpdate':TimeOfUpdate,
   'UsdVariation':UsdVariation
});

為了上帝的緣故。 使用另一個模板引擎。 從我的角度來看,由於縮進和1空格填充,Jade非常令人不安。 如果發生一些小錯誤,它將花費大量時間,並且您必須從上到下再次執行該操作。 誰喜歡那個?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM