0

现在,我有一个 ASP.NET 应用程序,在该应用程序中,在 aspx 文件中的不同位置,我调用了一个插入标准模板 HTML 的函数。例如:

<html>
<head>
</head>
<body>
<%=SectionHeader('Section title 1') %>
some content for section 1
<%=SectionHeader('Section title 2') %>
some content for section 2
</body>
</html>

因此,无论在何处调用 SectionHeader 函数,它都会读取传入的参数,并插入节标题的 HTML,例如 {title}。我试图弄清楚如何在 Node.js 中完成同样的事情。

我了解如何进行基本的令牌替换 - 读取静态 HTML 文件,查找令牌(例如 {token1})并用某些东西替换它。但是没有使用正则表达式和复杂的字符串操作,有什么方法可以在 Node 中完成与 ASP.NET 相同的事情吗?

4

2 回答 2

0

我采用了生成的应用程序骨架,并修改了index.jsandindex.jade以将函数传递到模板中。我认为这是您所要求的,但是如果这是一个很好的架构,可以将模板回调到逻辑中,那么可能会有意见。

index.js

exports.index = function(req, res){
  var fn = function(initial) {
      return initial + ". Tester";
  };
  res.render('index', { title: 'Express', fn : fn });
};

索引.jade

block content
  h1= title
  p Welcome to #{title}

  div Hello #{fn('A')}

现在,当我加载时http://localhost:3000/,这就是在屏幕上呈现的内容。请注意,“A”被传递到函数中以生成字符串“A.Tester”作为输出。


表达

欢迎来到快递

你好 A. 测试员

于 2013-03-17T20:46:47.717 回答
0

node有很多模板引擎,也许你应该尝试其中之一。如果您正在搜索 Web 应用程序框架express将是一个很好的起点,它支持许多模板引擎。

当然你可以只做字符串替换,但是模板引擎提供了更多。

于 2013-03-17T20:20:14.790 回答