express.js入门,提供dynamicHTML

我正在使用node.js和express来编写单个页面的Web应用程序。 通过一些在线教程后,我发现这是express.js如何提供与HTML,JavaScript和CSS的客户端目录

app.use(express.static(__dirname + '/public')); 

除了公共目录必须具有静态的.html根文件之外,这个工作很好。 我想知道如何以同样的方法提供dynamic的HTML文件。

我想插入一些数据到页面,例如顶部的“Hello user_name”。 我怎么做这个单个文件。

我只想做一次,在启动后,我的应用程序将进行其他API调用,并获得普通的JSON响应,然后将它放在页面中。

就我所知,您不能使用快速静态服务器来提供dynamic文件。 为了提供一个dynamic的HTML,你需要使用一个模板引擎,比如翡翠或者任何这些模板引擎 。

Jade使用起来相当简单,并且默认支持Express。 要设置玉石,请在您的应用程序configuration块中包含以下几行:

 app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'jade'); 

第一行设置您的视图目录 – 将从中提供模板文件。 既然你只想提供一个索引文件,这个目录将包含你的index.jade模板。 第二行设置玉为模板引擎。

现在,不需要使用静态服务器来为index.html服务,您需要创build一个获取path“/”来提供索引文件,如下所示:

 app.get('/', function(req, res) { res.render('index', {user_name: username}); });