【问题标题】:MEAN stack, I don't want to use Jade, how do I just use HTMLMEAN堆栈,我不想使用Jade,我如何只使用HTML
【发布时间】:2014-02-06 00:26:16
【问题描述】:

我正在使用 MEAN 堆栈开发应用程序,但我真的不喜欢“Jade”。我发现自己经常使用 HTML 到 Jade 的翻译器,而宁愿用 HTML 编写。

如何在 Express 项目中不使用 Jade?

另外,有人可以解释什么是模板引擎以及为什么需要它吗?

【问题讨论】:

  • 你在这里问的问题太多了。请让这更具体。首先自己研究模板引擎,而不是仅仅在 SO 上吐槽。
  • 在此处查看频谱的答案:stackoverflow.com/questions/4529586/…

标签: javascript html node.js express pug


【解决方案1】:

试试EJS,因为它看起来更像 HTML。

http://embeddedjs.com/

<ul>
<% for(var i=0; i<supplies.length; i++) {%>
   <li><%= supplies[i] %></li>
<% } %>
</ul>

您可以通过响应对象res.send渲染出HTML,并在服务器端代码中生成所有HTML

res.send('<html>...</html>');

一般来说,如果您显示的是动态数据而不是静态 HTML 页面,人们会发现使用 EJS 等视图引擎并将视图绑定到包含他们想要显示的所有动态数据的对象会更容易、更封装.这是应用Separation of Concerns 设计原则的示例,这被认为是良好实践: http://en.wikipedia.org/wiki/Separation_of_concerns

【讨论】:

  • 虽然使用ejs 有效,但安装模块的评估和文件系统开销最终并没有多大贡献。
【解决方案2】:

你可以设置:

app.use(express.static(__dirname + '/public'));

在你的配置文件中,而不是只使用普通的 HTML。

如前所述,模板引擎允许您设置更多动态内容并编写更少代码。

【讨论】:

  • 那么在我的“视图”文件夹中,我可以只使用 index.html 而不是 index.jade?​​span>
  • @Tim 查看我对您问题的评论。简而言之,不,这只会提供来自public 目录的静态页面。
猜你喜欢
  • 2013-09-27
  • 1970-01-01
  • 2014-02-17
  • 2015-03-17
  • 2016-10-16
  • 1970-01-01
  • 1970-01-01
  • 2017-11-22
  • 1970-01-01
相关资源
最近更新 更多