Xem công cụ Nodejs

Công cụ mẫu giúp chúng tôi tạo một mẫu HTML với mã tối thiểu. Ngoài ra, nó có thể đưa dữ liệu vào mẫu HTML ở phía máy khách và tạo HTML cuối cùng

Hình dưới đây minh họa cách hoạt động của template engine trong Node. js

Xem công cụ Nodejs
Công cụ mẫu

Theo hình trên, trình duyệt phía máy khách tải mẫu HTML, dữ liệu JSON/XML và thư viện công cụ mẫu từ máy chủ. Công cụ mẫu tạo HTML cuối cùng bằng cách sử dụng mẫu và dữ liệu trong trình duyệt của khách hàng. Tuy nhiên, một số mẫu HTML cũng xử lý dữ liệu và tạo trang HTML cuối cùng ở phía máy chủ

Có nhiều công cụ mẫu có sẵn cho Node. js. Mỗi công cụ mẫu sử dụng một ngôn ngữ khác nhau để xác định mẫu HTML và đưa dữ liệu vào đó

Đầu tiên để tạo bản demo cho bài viết này, chúng ta phải tạo một cơ sở dự án với ExpressJS NodeJS nhé. Để tạo nhanh nhất mình sử dụng 

// ...
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');
// ...
3

sudo npm install express-generator -g
express --view=ejs Demo_EJS

Khi chạy xong lệnh tạo dự án với view engine là ejs ta có dự án với cấu trúc thư mục như sau

Xem công cụ Nodejs

Như vậy với câu lệnh trên thì ta đã tạo được 1 project Express sử dụng sẵn view engine EJS. Xem công cụ này đã được thiết lập trong ứng dụng tệp. js

// ...
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');
// ...

Tiếp theo để minh họa cách sử dụng mình sẽ thực hiện công việc tách bố cục cơ bản của trang web và hiển thị dữ liệu từ máy chủ. Đầu tiên ta thử kết xuất dữ liệu từ máy chủ

Chỉnh sửa tệp đã chỉnh sửa 

// ...
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');
// ...
4

var express = require('express');
var router = express.Router();
/* GET home page. */
router.get('/', function(req, res, next) {
  let list = [
      {name: 'PHP'},
      {name: 'Ruby'},
      {name: 'Java'},
      {name: 'Python'},
      {name: 'dotNet'},
      {name: 'C#'},
      {name: 'Swift'},
      {name: 'Pascal'},
  ]
  res.render('index', { title: 'Demo Ejs', list: list });
});
module.exports = router;

Tệp 

// ...
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');
// ...
5



  
    <%= title %>
    
  
  
    

This is header

<%= title %>

List of programming languages
    <% list.forEach(function(item) { %>
  • <%= item.name %>
  • <% }); %>

This is footer

Như vậy ta đã thực hiện truyền dữ liệu từ máy chủ sang chế độ xem và hiển thị ra. Ngoài ra, ta có thể tách các phần header, footer bằng cách thêm các file header. ejs, chân trang. ejs after that include into as after



  
    <%= title %>
    
  
  
    
<% include header %>

<%= title %>

List of programming languages
    <% list.forEach(function(item) { %>
  • <%= item.name %>
  • <% }); %>
<% include footer %>

Pug NodeJS

Xem công cụ Nodejs
PUG

Pug – tên trước đây là Jade, cũng là 1 view engine khá phổ biến trong các project Nodejs. To use it doing view engine ta setup as after

________số 8

With ví dụ như trên ta tạo các tệp pug với nội dung như sau

// file layout.pug
doctype html
html
  head
    title= title
    link(rel='stylesheet', href='/stylesheets/style.css')
  body
    include header
    block content
    include footer
sudo npm install express-generator -g
express --view=ejs Demo_EJS
0

Như vậy với cùng một nội dung ta thấy cách viết của Pug rất rõ ràng, ngắn gọn và dễ hiểu. Pug có cách hoạt động gần giống như ngôn ngữ lập trình Python tức thì được sử dụng thụt lề hoặc khoảng trắng. Ta không cần quan tâm thẻ đóng/mở vì Pug sẽ thay bạn làm điều đó

Please tham khảo. Jade là gì ?

Hbs (Tay lái. js) NútJS

Xem công cụ Nodejs

To use this template ta set view engine to_______06. Đồng thời ta phải đăng ký các khối (trong handlebarjs gọi là một phần) như sau

sudo npm install express-generator -g
express --view=ejs Demo_EJS
2

Với bài toán trên ta cũng sẽ tạo các file hbs có nội dung như sau

sudo npm install express-generator -g
express --view=ejs Demo_EJS
3
// ...
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');
// ...
0
// ...
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');
// ...
1
// ...
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');
// ...
2

Kết luận

Như vậy mình vừa thử sử dụng một vài view engine khá phổ biến trong dự án Nodejs. Và nếu lựa chọn để phát triển sản phẩm thì mình khuyên bạn nên chọn Pug vì nó rất đơn giản và dễ hiểu

Công cụ xem trong nút JS là gì?

Công cụ xem cho phép chúng tôi hiển thị trang web bằng tệp mẫu . Các mẫu này chứa đầy dữ liệu thực tế và được cung cấp cho khách hàng. Có nhiều công cụ xem, trong đó phổ biến nhất là Embedded Javascript (EJS).

Công cụ xem nào là tốt nhất cho Node JS?

Pug, trước đây gọi là Jade, là một trong những template engine được sử dụng nhiều nhất trong Node. .
Tay lái là một phần mở rộng của một công cụ mẫu phổ biến khác trong Node, Mustache. .
EJS là một Node phổ biến khác. .
Nunjucks là một công cụ mẫu mạnh mẽ do Mozilla xây dựng mà bạn có thể sử dụng với Node

Làm cách nào để sử dụng chế độ xem trong nodejs?

Vì vậy, đây là cách bạn có thể thiết lập công cụ xem trong nút js. .
Bạn có thể truy cập liên kết Cài đặt mô-đun ejs. .
Sau khi cài đặt multer, bạn có thể kiểm tra phiên bản ejs của mình trong dấu nhắc lệnh bằng lệnh. .
Sau đó, bạn có thể chỉ cần tạo một thư mục và thêm một tệp ví dụ ứng dụng

ejs có còn được sử dụng không?

Ngày nay, hầu hết các trang web động đều sử dụng kết xuất phía máy khách bằng các thư viện/khung như React, Vue, Angular, v.v. Chúng tôi sử dụng EJS để hiển thị email HTML và HTML cho báo cáo PDF . Nếu bạn muốn tạo chế độ xem hiển thị phía máy chủ, bạn cũng có thể sử dụng tiếp theo. js là khung sử dụng React làm ngôn ngữ tạo khuôn mẫu.