1

最初的问题

我的问题很容易被误解,所以我会举一个例子,或者更好的是,我会做一个比较。

考虑 ASP.NET Web 应用程序。在那里可以定义ascx组件。这些组件非常好,因为它们定义了具有一些更智能功能的可重用代码片段,这使得它们不仅仅是简单的代码片段……而是 Web 应用程序的参数化部分。

我的问题是,当然考虑到 Node.js 不是 ASP.NET:在 Node.js 中定义可重用组件(参数化)的最相似的解决方案是什么?

谢谢

对于那些不熟悉 ASP.NET

我知道并不是每个人都熟悉 ASP.NET。所以我将在这里详细说明我需要的东西。将参数传递给 html 或 jame 代码段是我可以在 Node.js 中做的事情,但我想做的是将我的 jam/html 代码写入文件(它包含一些 div 和其他内容),然后参考它在另一个jade/html文档中或在其中传递的一个参数中。

新修订的问题

当我被告知使用 mixins 来解决这个问题时,我开始寻找它们并尝试了一些,没关系,我设法完成了最简单的 mixins,但是当我不得不让事情变得更复杂时,mixins 开始了行为怪异。所以现在我想知道它们是否是我一直在寻找的解决方案。所以现在我将详细解释我想要实现的目标(因为我太笼统了)。

我有一个使用编写的网页Jade,我需要创建一个可以在整个页面中重用的组件。该组件只是一个包含文章的结构化 div。如果我用伪代码编写这个组件,它在Jadeish 语法中可能看起来像这样:

component article(@title, @subtitle, @articlebody, @writtenon)
.article
  .head {@title}
  .head {@subtitle}
  div(style='float:left;clear:both')
    .body
      {@articlecontent}
    .foot
      {@writtenon}

因此,如您所见,我希望对这组代码进行参数化,以便可以在我的页面中像这样重用它:

doctype 5
html
  head
    title = title
  body
    .article('my first art', 'dummy subtitle', 'bla bla bla... lorem ipsum', '12/12/2012')
    .article('my second art', 'dummy subtitle', 'bla bla bla... lorem ipsum', '12/12/2012')

等等...

还要考虑参数可能是长值。在我的示例中,其中一个参数是文章的正文。我需要在那里插入正文的html代码

我在网上搜索以了解如何执行此操作,但找不到任何教程或有效示例。

你能帮我吗?谢谢

4

1 回答 1

3

我对ascx文件不熟悉,所以我不知道这是否是您的想法,但是已经为 node.js 编写了不同的模板引擎,允许重用前端模板(类似 html 的文件)。例如,Jade引擎中的mixin允许您将参数传递给模板。

于 2012-11-23T09:53:09.723 回答