在输入地址,如: localhost:8888时,不做其它路由拦截时,默认显示,静态资源文件夹下的index.html页面
需求:如何可以更改默认页面,如默认显示login.html页面
解决方法:
express.static方法有两个参数,第一个路径,第二个参数可选,第二个参数,可以进行多个设置,其中就有index,设置默认显示的文件,默认值为index.html, 如何要修改,直接设置index为对应的修改页面. 代码如下,即可.
app.use(express.static(__dirname+"/public",{index:"index.html"}));
相关资料如下:
express.static(root, [options])
express.static是唯一的一个express内置的中间件,他用于处理静态文件,是基于serve-static来完成的。
对于静态文件的请求时通过root+req.url拼接完成的。如果不存在这个静态文件那么交给下面一个中间件,而不是返回404。
其中options可以是下面的这些参数:
dotfiles:决定如何处理点的文件
“allow”:允许带有点的文件
“deny”:对请求点的文件发送一个403,同时调用下面一个中间件
“ignore”:如果这个点文件不存在,那么返回404,同时调用下面一个中间件
注意:默认情况下不会忽略文件夹下面的以点开头的文件
etag:开启或者关闭etag的生成。注意express.static一般都会发送弱的etag
extensions:如果没有找到文件那么查找这个数组,然后发送给浏览器第一个找到的文件。如[‘html’, ‘htm’].
fallthrough:让客户端产生一个未处理的请求
true vs false:表示客户端非正确的请求或者请求一个不存在的文件都会导致简单的调用下面一个中间件,也就是调用next()
如果是false那么就会调用next(err),这一点很重要。如果设置为false那么所有请求如GET/POST等都会调用
index:发送一个特定目录的index文件,如果设置为false那么就会关闭这种请求文件的方式
lastModified:为操作系统中的文件设置一个lastModified头
maxAge:为cache-control这个头设置一个max-age属性。属性是毫秒值,或者是一个毫秒的字符串
redirect:如果路径的名称为一个目录,那么就会去查找"/"
setHeaders:为客户端请求的文件添加HTTP头
指定一个函数用于发送自定义的响应头,对响应头的改变必须是同步的。这个函数的签名是fn(res, path, stat)
其中res是一个response对象,path表示要发送的文件路径,stat表示这个文件的描述符