这是我在任何地方看到的使用node.js和express的简单静态Web服务器的代码:
var express = require('express');
var app = express();
app.use(express.static(__dirname + '/public'));
app.listen(8080);
我的问题是,当请求是针对静态页面还是动态页面时,表达式如何表达?例如,为什么从公共文件夹而不是动态模板提供/index.html?
感谢。
答案 0 :(得分:0)
您可以将您定义的路由视为URL中定义的路径上的检查链。 Express通过每次检查逐个迭代寻找匹配;一旦找到一个,它就会执行该回调。
在这种情况下,express.static正在为public
目录中的每个文件定义一堆路径检查。如果您在app.use(express.static(__dirname + '/public'));
代码之前app.get('/index.html', function(req, res) { ...
,并且其中有一个index.html文件,那么它将使用静态文件而不是动态文件。
基本上就是这样。