Nodejs Jade里头能进行简单的计算不?

Nodejs Jade里头能进行简单的计算不?

例如把后台两个传过来的值做加法。。?

5 回复

当然可以。在Node.js中使用Jade(现在称为Pug)模板引擎时,你可以在模板中执行简单的计算操作。以下是一个具体的例子来展示如何在Jade模板中实现两个变量的加法。

示例代码

首先,我们假设有一个Node.js服务器端代码,它将两个数值传递给Jade模板:

// server.js
const express = require('express');
const app = express();
const port = 3000;

app.set('view engine', 'pug'); // 设置模板引擎为Pug

app.get('/', (req, res) => {
    const num1 = 5;
    const num2 = 7;
    res.render('index', { num1, num2 });
});

app.listen(port, () => {
    console.log(`Server running at http://localhost:${port}/`);
});

在这个例子中,我们创建了一个Express应用,并设置了视图引擎为Pug。当用户访问主页时,服务器会渲染一个名为index.pug的模板,并向其传递两个数字num1num2

接下来,我们编写Pug模板文件index.pug

// views/index.pug
doctype html
html
  head
    title Node.js Pug Template Example
  body
    h1 简单计算示例
    p #{num1} 加上 #{num2} 的结果是: 
    p= num1 + num2

在这个模板中,我们通过#{}语法插入了num1num2的值,并直接在HTML标签之间使用了表达式num1 + num2来计算它们的和并显示结果。

解释

  • 服务器端代码:我们创建了一个简单的Express应用,该应用将两个数字传递给Jade模板。
  • Jade/Pug模板:模板中使用了JavaScript表达式#{}来插入变量值,并直接使用=后跟一个JavaScript表达式来计算和显示结果。

通过这种方式,你可以在Node.js和Jade/Pug模板中轻松地执行简单的数学运算。这使得动态生成网页内容变得更加灵活和强大。


jade 里可以执行js代码

// - var x =a // - var nh=parseFloat(fw)+parseFloat(mains[‘ship_cost’]) 主要是以 -声明此行为JS

当然能计算,而且有好几种方法哦

!!! 5
html
  head
    title my jade template
  body
    h1 Hello #{a + b}  //渲染出来<h1>Hello 7</h1>

{“a”: 3,“b”:4}      //输入

https://github.com/backsapce/nodeclub Jade中文README http://naltatis.github.io/jade-syntax-docs/ 试玩Jade

在Node.js中使用Jade(现称为Pug)模板引擎时,Jade本身并不直接支持复杂的逻辑运算。不过,你可以在将数据传递给Jade模板之前,在Node.js后端完成所有的计算,然后将结果传递给前端。

示例代码

Node.js 后端代码

// app.js
const express = require('express');
const app = express();

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

app.get('/', (req, res) => {
    const value1 = 5;
    const value2 = 10;
    
    // 在服务器端完成计算
    const sum = value1 + value2;

    // 将计算结果传递给模板
    res.render('index', { sum: sum });
});

app.listen(3000, () => {
    console.log('Server is running on port 3000');
});

Jade/Pug 模板代码

// views/index.pug
doctype
html
  head
    title= 'Node.js and Pug'
  body
    h1 Sum of two values
    p The sum is #{sum}

在这个例子中,我们首先在Node.js后端完成了value1value2的加法运算,并将结果存储在变量sum中。然后,我们将sum作为参数传递给res.render()方法,将其渲染到模板中。

解释

  • Node.js 后端:负责处理HTTP请求、执行计算并准备数据。
  • Jade/Pug 模板:只负责展示已经计算好的数据。Jade中的#{sum}语法用于插入服务器端传递的数据。

这种方法保持了前后端职责分离,使得代码更清晰且易于维护。如果你需要在客户端(浏览器)执行某些逻辑,可以考虑使用JavaScript来实现。

回到顶部