Javascript Node.JS令牌替换(相当于在ASP.NET中调用内联函数)

Javascript Node.JS令牌替换(相当于在ASP.NET中调用内联函数),javascript,node.js,Javascript,Node.js,现在,我有一个ASP.NET应用程序,在aspx文件中,在不同的点上,我调用一个插入标准模板HTML的函数。例如: <html> <head> </head> <body> <%=SectionHeader('Section title 1') %> some content for section 1 <%=SectionHeader('Section title 2') %> some content for secti

现在,我有一个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>

第1节的一些内容
第2节的一些内容
因此,无论在哪里调用SectionHeader函数,它都会读取传入的参数,并插入节头的HTML,例如{title}。我试图找出如何在Node中完成同样的事情

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

Node中有一些方法,也许您应该尝试其中一种。如果您正在搜索web应用程序框架,这将是一个很好的起点,它支持许多模板化enigne


当然,您可以只替换字符串,但模板引擎提供了更多功能。

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

index.js

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

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

  div Hello #{fn('A')}
现在,当我加载
http://localhost:3000/
,这是屏幕上呈现的内容。请注意,“A”被传递到函数中,以生成输出字符串“A.Tester”


Express

欢迎收看快报


您好A.Tester

我一直在使用Express(从一个月前开始使用以来),我仍在探索它。我阅读了所有我能找到的关于EJS和Jade的资料,但我找不到任何能解释我如何做到这一点的文档。从我的理解来看,他们模板化的方式是通过令牌——所以你可以说{title},它将用你指定的东西替换{title}的所有实例。在我的一生中,我无法找到如何将某种类型的值传递给模板引擎,作为其模板机制的一部分使用。在Jade中,您必须具备以下可能性:要么使用mixin创建“子模板”,要么扩展另一个Jade文件(通常是布局)以在布局中渲染块。您的示例类似于布局文件。您可以有一个tepmlate,它定义了可以在布局中填充占位符的各种块。谢谢mixin正是我想要的!你有没有可能知道其他模板引擎中是否也有同样的概念?我只是还不习惯用玉