express如何知道静态和动态请求之间的区别?

时间:2013-12-03 00:47:28

标签: node.js express

这是我在任何地方看到的使用node.js和express的简单静态Web服务器的代码:

var express = require('express');
var app = express();

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

app.listen(8080);

我的问题是,当请求是针对静态页面还是动态页面时,表达式如何表达?例如,为什么从公共文件夹而不是动态模板提供/index.html?

感谢。

1 个答案:

答案 0 :(得分:0)

您可以将您定义的路由视为URL中定义的路径上的检查链。 Express通过每次检查逐个迭代寻找匹配;一旦找到一个,它就会执行该回调。

在这种情况下,express.static正在为public目录中的每个文件定义一堆路径检查。如果您在app.use(express.static(__dirname + '/public'));代码之前app.get('/index.html', function(req, res) { ... ,并且其中有一个index.html文件,那么它将使用静态文件而不是动态文件。

基本上就是这样。