Express 如何设置一个指定文件名的路由,不用正则
app.get('/:file.css', fn)
,我希望这个 file
是任意长的路径,目前用正则的方式是:app.get("/:file([0-9a-zA-Z]+).css", fn)
,很奇怪正则用 .+
不行,\w+
貌似也不行,奇怪。
3 回复
express可以我这样的写法少,实测有效的,express 4,3应该也可以的 你这个正则太长了,我就是不想用正则这么长 比如:app.get("/:file.html"),这个file可以是/folder/index.html,也可以是/foo/bar/xx.html,我只要这个扩展名匹配就可以了
re = /^\/(?:[^\/]+\/)*(.+)\.html$/
re.exec("/folder/index.html"); // ["/folder/index.html", "index"]
还是正则爽,捕获到的是filename