【发布时间】:2020-04-04 17:56:09
【问题描述】:
Angular 已经自带模板引擎了吗?
如果我希望使用 MEAN 堆栈,那么使用 EJS 或 Pug 作为模板引擎是否有效?如果是,那我该如何实现呢?
【问题讨论】:
标签: node.js angular mongodb express mean-stack
Angular 已经自带模板引擎了吗?
如果我希望使用 MEAN 堆栈,那么使用 EJS 或 Pug 作为模板引擎是否有效?如果是,那我该如何实现呢?
【问题讨论】:
标签: node.js angular mongodb express mean-stack
在 Angular 中,您可以使用 Interpolation,它指的是标记文本中的嵌入表达式。要使用interpolation,您需要使用双花括号,例如{{}}:
<h1>CustomerName: {{ name }} </h1>
您也可以使用Template Expression,它会产生一个值并出现在双花括号中。
但除此之外,您还可以使用 Nodejs,Expressjs 的 template-engine 像 ejs、pug 和 handlebars 将帮助您创建动态内容。您可以选择其中任何一个。例如,要使用ejs,您需要先安装它。您可以在终端中编写以下命令
npm i ejs
并将其导入您的根文件
const ejs = require ('ejs');
然后你需要像这样设置视图引擎
app.set('view engine', 'ejs');
然后您需要将所有views 文件保存在.ejs 扩展名中
const express = require('express');
const ejs = require('ejs');
const app = express();
app.set('view engine', 'ejs');
app.get('/', (req, res) => {
res.render('index', { name: 'Hello' });
});
app.listen(3000, () => console.log('Server is running'));
现在您可以像动态访问 ejs 文件中的名称值
<%=name %>
【讨论】:
Angular 还是templating-engine?如果您使用的是ejs,那么为什么需要使用Angular'? Though Angular`是frameworkangular和ejs可以帮助您开发views或front-end给用户。