在Node.js中创build参数化“组件”的最佳方法是什么?
最初的问题
我的问题很容易被误解,所以我会用一个例子,或者更好的,我会做一个比较。
考虑ASP.NET Web应用程序。 在那里可以定义ascx
组件。 这些组件是相当不错的,因为它们定义了一些具有更多智能function的可重用代码片断,这些function使它们不仅仅是简单的代码块……而是用于Web应用程序的参数化部分。
我的问题当然是考虑到Node.js不是ASP.NET:什么是在Node.js中定义可重用组件(参数化)最类似的解决scheme?
谢谢
对于那些不熟悉ASP.NET的人
我知道,不是每个人都可能熟悉ASP.NET。 所以我将详细介绍一下我在这里需要的东西。 将parameter passing给一个html或jade的代码段是我在Node.js中可以做的,但是我想要做的是将我的jade / html代码写入一个文件(它包含一些div和其他东西),然后引用它在另一个jade / html文件里面或者一个参数里面传递。
新修订的问题
当我被告知使用mixin来解决这个问题的时候,我开始寻找他们,并且尝试了一些,没关系,我把最简单的mixin完成了,但是当我不得不做一些更复杂的事情时,mixin开始了行为奇怪。 所以现在我想知道他们是否是我一直在寻找的解决scheme。 所以现在我要详细解释我想达到什么(因为我太普通了)。
我有一个使用Jade
编写的网页,我需要创build一个可以在整个页面中重用的组件。 这个组件只是一个结构化的div,将包含一篇文章。 如果我要用伪代码编写这个组件,这就是它在Jade
ish语法中的样子:
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代码
我search了networking,以了解如何做到这一点,但找不到任何教程或有效的例子。
你能帮我吗? 谢谢
我不熟悉ascx
文件,所以我不知道这是不是你正在想的,但是有不同的模板引擎已经为node.js编写,允许重复使用前端模板(类似html的文件)。 例如,在Jade引擎中有一个mixin ,允许您将parameter passing给模板。