vite-plugin-mock
vite-plugin-mock copied to clipboard
请问 url 是否支持 正则?
试验了下,好像不支持正则匹配url哦
{ url: //basic-api/system/pageIni/, timeout: 100, method: 'post', response: ({ query }) => { return resultPageSuccess(1, 10, true, pageIni.find(e =>e.id == '1'), accountList); }, }, 是我的写法问题吗?
理论上是支持的,因为源码是使用https://github.com/pillarjs/path-to-regexp 的pathToRegexp
函数匹配的,pathToRegexp
第一个参数是支持传正则的。
普通的path是用正则是没有问题的,但是带params参数的path是有问题的,比如/api/user/:id
这种如果你使用正则/\/api\/user\/:id/
是有问题的,因为pathToRegexp
函数会直接原封不动返回你的正则进行test,那么真实的请求/api/user/1
明显是无法和正则/\/api\/user\/:id/
匹配的因为:id
无法和1
匹配上。如果你传入的字符串"/api/user/:id"
那么pathToRegexp
函数会转换为正则/^\/dev-api\/user(?:\/([^\/#\?]+?))[\/#\?]?$/i
,这个正则明显可以匹配id参数。因此带有params参数的path最好不要使用正则而是使用字符串。
你的正则//basic-api/system/pageIni/
是不是应该做一下转译啊/\/basic-api\/system\/pageIni/
,