自动呈现玉文件,如果它是一个HTML文件?

尽pipe看起来相当有用,但我找不到答案。

我想主持一个使用node.js来提供编译好的jade文件而不是html文件的站点。 目前,我正在使用:

app.get('/', function(req, res) { app.use(express.static(__dirname)); }); 

当有人在domain.com/page page.jade时,如何才能findpage.jade ? 此外,我可以写在玉文件中的链接(所以a(href='page') link将链接到上述页面)?

设置你的path

 app.get('/:pageName') // more code // then res.render(req.params.pageName+'.jade') 

req.params将包含属性名称pageName的最后一部分

Express对于它所谓的“视图引擎”有许多可能的select。 为了让它处理翡翠文件并将它们作为html服务,您必须对其进行configuration。

要做到这一点,最简单的方法之一就是简单地使用express命令来创build项目,如他们的指南中所述 。 默认的视图引擎是翡翠,下面的命令将手写笔设置为css处理器:

 express --css stylus myapp 

相反,如果您正在configuration自己的服务器,则需要configuration视图引擎:

 app.configure(function(){ app.set('views', path.join(staticDir,'views')); app.set('view engine', 'jade'); ... the rest of your setup ... }