CNode

express 如何将“/”,"/index","index.html"写到一个路由处理上,而不是写三遍?

问答
Qqimuyunduan发布于10 年前最后回复8 年前22 回复10254 浏览0 收藏

express 如何将 router.get(“/”,function({})); router.get(“/index”,function({})); router.get(“/index.html”,function({})); 写到一个路由处理上,而不是写三遍?

查看回复

回复 (22)

A
alsotang#1·10 年前

我来写的话,就写三遍。

J
jingsam#2·10 年前

你这个完全不需要路由啊,把index.html放到public文件夹下,然后设置:

app.use(express.static('public'))
Q
qimuyunduan#4·10 年前
引用 jingsam你这个完全不需要路由啊,把index.html放到public文件夹下,然后设置:

@jingsam 这个不是静态文件,只不过后缀名是.html

Q
qimuyunduan#5·10 年前
引用 alsotang我来写的话,就写三遍。

@alsotang 好的,你说了就是

N
Neil-UWA#6·10 年前

正则匹配

K
klausgao#7·10 年前

正则

M
magicdawn#8·10 年前

伪静态化~哈哈 首先正则是可以的 app.get(/^\/(index(\.html)?)?/, function(){ ... })

M
magicdawn#9·10 年前

就 router 来说, 他是只支持一个 path 的 https://github.com/expressjs/express/blob/4.13.4/lib/router/index.js#L509

E
elrrrrrrr#11·10 年前

感觉正则不如写三遍 哈哈哈

J
JasonBoy#12·10 年前

感觉没必要支持3个一样的路由,直接支持 / 结束,又不是静态的,没必要再加个index或index.html

X
x-da#13·10 年前

router.get(['/','/index.html'],function({}));

R
rpdgcmyk#14·10 年前
引用 x-darouter.get(['/','/index.html'],function({}));

@x-da 居然能支持这个调调的啊,涨知识了

F
flamingtop#15·10 年前

app.get('/:var(index|index.html)?', fn)

2
2linziyi2#16·10 年前

同楼上,正则匹配是最简单的,如果自己玩的话可以获取路径switch选择

M
mrweidai#17·10 年前

有的时候过度压缩代码也有坏处,我就写三遍。

B
binking338#18·10 年前
引用 alsotang我来写的话,就写三遍。

@alsotang 为啥 易读?

A
alsotang#19·10 年前
引用 binking338@alsotang 为啥 易读?

@binking338 如果通用需求的话,就用正则来处理。

如果只是为了首页的话,写三遍路由的复杂度比写正则轻松很多。

1
13241491189#20·10 年前
1
1252198830#21·8 年前
引用 flamingtopapp.get('/:var(index|index\.html)?', fn)

@flamingtop 您好,请问这是什么操作 这个/:var() 简直666 表示并没有找到相关的文档说明(眼有点瞎) 可否给个相关说明文档链接 谢谢了 跪求

F
flamingtop#22·8 年前

@1252198830 expressjs的官网router部分

参与回复
登录后即可参与回复。登录