📜  SyntaxError: Unexpected token ' ' in C:\Users\SHUBHAM KUNWAR\Desktop\login\views\register.ejs 同时编译 ejs - Javascript (1)

📅  最后修改于: 2023-12-03 15:35:13.692000             🧑  作者: Mango

EJS 模板引擎介绍

简介

EJS 全称 Embedded JavaScript templates,是一款使用 JavaScript 作为模板语言的模板引擎。EJS 可以帮助我们在 Node.js 应用中构建高效的动态 HTML 页面。

EJS 的主要特点是简单易用,支持灵活的标签,允许在模板中调用 JavaScript 代码,同时也提供了与 Express 框架无缝集成的功能。

安装

我们可以通过 npm 包管理工具来安装 EJS:

npm install ejs
用法

在 Node.js 应用中使用 EJS,需要通过 require 方法引入 ejs 模块,并且设置模板的存放路径。

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

app.set('views', './views'); // 设置模板存放路径
app.set('view engine', 'ejs'); // 设置模板引擎

app.get('/', (req, res) => {
  const data = {
    title: 'EJS 模板引擎',
    message: 'Welcome to EJS template engine!',
  };
  res.render('index', data);
});

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

views 目录下创建一个名为 index.ejs 的模板文件,代码如下:

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

res.render 方法调用中,first 参数为模板文件的名称(不需要带扩展名),second 参数为渲染模板所需的数据。然后在模板文件中插入数据,使用 <%= %> 构造标签,可以动态渲染 HTML 内容。

异常处理

在使用 EJS 时,经常会出现 SyntaxError: Unexpected token 的错误,其中 <> 符号往往被视为语法错误的标记。为了避免这种错误,我们需要使用 HTML 转义符号 &lt;&gt; 来代替 <> 符号。

例如,将以上代码中的 <html> 改为 &lt;html&gt;<%= title %> 改为 &lt;%=title%&gt;<%= message %> 改为 &lt;%=message%&gt;

结语

EJS 是一款经典的模板引擎,既支持 HTML 内置标签语法,也支持原生 JS 语法。EJS 功能强大,易于学习,并与 Express 紧密集成,可以帮助我们更好地构建动态 Web 应用。