Nodejs jade??? ejs?

Nodejs jade??? ejs?

刚才仔细看了看nitrous.io的盒子,package.json中用的jade,而不是ejs, nitrous的盒子是不是只能用 jade ?

3 回复

Node.js Jade vs EJS

在Node.js开发中,模板引擎的选择是一个常见的问题。Jade(现在称为Pug)和EJS是两种非常流行的模板引擎。它们各有特点,适用于不同的应用场景。

1. Jade/Pug

Jade(现在官方名称为Pug)是一种简洁、优雅的模板引擎。它使用缩进来定义结构,使得HTML代码更加清晰和易于维护。以下是一个简单的Jade/Pug示例:

doctype html
html
  head
    title My Website
  body
    h1 Welcome to My Website
    ul
      li Item 1
      li Item 2

上面的Jade代码编译后的HTML如下:

<!DOCTYPE html>
<html>
  <head>
    <title>My Website</title>
  </head>
  <body>
    <h1>Welcome to My Website</h1>
    <ul>
      <li>Item 1</li>
      <li>Item 2</li>
    </ul>
  </body>
</html>

2. EJS

EJS(Embedded JavaScript)则更接近于传统的HTML,但它允许你嵌入JavaScript代码。这使得EJS在需要动态内容时更为灵活。以下是一个简单的EJS示例:

<!DOCTYPE html>
<html>
  <head>
    <title><%= title %></title>
  </head>
  <body>
    <h1>Welcome to <%= title %></h1>
    <ul>
      <% for (var i = 0; i < items.length; i++) { %>
        <li><%= items[i] %></li>
      <% } %>
    </ul>
  </body>
</html>

在这个例子中,<%= title %><% ... %> 分别用于插入变量值和执行JavaScript代码。

选择哪个?

  • Jade/Pug 更适合那些喜欢简洁和结构化的开发者。
  • EJS 更适合那些习惯传统HTML并希望有更多灵活性的开发者。

在Nitrous.io盒子中的选择

Nitrous.io盒子的package.json文件中使用了Jade,并不意味着你只能使用Jade。你可以根据自己的需求选择合适的模板引擎。例如,如果你更喜欢EJS,可以安装EJS并修改你的项目配置:

npm install ejs --save

然后在你的Express应用中配置EJS:

const express = require('express');
const app = express();

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

app.get('/', function(req, res) {
  res.render('index', { title: 'My Website', items: ['Item 1', 'Item 2'] });
});

app.listen(3000);

这样,你就可以使用EJS作为模板引擎了。

总之,选择哪种模板引擎取决于你的个人偏好和项目的具体需求。


…这个顺便自己换…

在Node.js中,jadeejs 都是模板引擎,用于生成HTML。jade 已经改名为 pug,而 ejs 是另一种流行的模板引擎。

如果你在 package.json 中看到的是 jade,那么这可能是由于历史原因,或者是为了兼容某些旧的代码。现在更推荐使用 pugejs

示例代码

使用 Pug(原 Jade)

// 安装 pug
npm install pug

// 在 Node.js 文件中
const express = require('express');
const app = express();

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

app.get('/', (req, res) => {
    res.render('index', { title: 'Hello World', message: 'Hello, welcome to my website!' });
});

app.listen(3000);

views/index.pug 文件内容:

doctype
html
  head
    title #{title}
  body
    h1 #{message}

使用 EJS

// 安装 ejs
npm install ejs

// 在 Node.js 文件中
const express = require('express');
const app = express();

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

app.get('/', (req, res) => {
    res.render('index', { title: 'Hello World', message: 'Hello, welcome to my website!' });
});

app.listen(3000);

views/index.ejs 文件内容:

<!DOCTYPE html>
<html>
<head>
  <title><%= title %></title>
</head>
<body>
  <h1><%= message %></h1>
</body>
</html>

总结

  • jade 已更名为 pug
  • ejs 是另一种模板引擎,语法更接近HTML。
  • package.json 中使用哪种模板引擎取决于你的项目需求和个人偏好。
  • 你可以根据需要安装并配置这两种模板引擎之一。
回到顶部