路由器引发除斜杠以外的任何其他路由的错误
router raise error for any other route than slash
上下文
我在src/index.v
中有这个程序
import vweb
struct App {
vweb.Context
}
["/"]
pub fn (mut app App) home_index() vweb.Result {
return app.html("home")
}
["/about"]
pub fn (mut app App) about_index() vweb.Result {
return app.html("about")
}
fn main() {
vweb.run<App>(80)
}
而我运行这个命令来编译它
v -o dist/index src/index.v
并且当我运行这个命令时服务器启动
./dist/index
问题
当我浏览 http://localhost 时,我看到了主页文本,但是当我浏览 http:///localhost/about 时,我看到我的控制台打印了这个错误:
./dist/index
[Vweb] Running app on http://localhost:80
V panic: array.get: index out of range (i == -1, a.len == 0)
v hash: b3890e2
C.backtrace returned less than 2 frames
我注意到如果删除 home 路由代码块,不会引发错误(但我暂时不知道找到“/”路由时如何显示响应)。
问题
有谁知道为什么会出现这个错误?
注释
我的v版
v --version
V 0.2.2 b3890e2
我的OS版本
cat /etc/issue
Welcome to Alpine Linux 3.11
Gcc 版本
gcc --version
gcc (Alpine 9.3.0) 9.3.0
这是框架网络中的错误。
正在 PR #10001.
中解决
上下文
我在src/index.v
import vweb
struct App {
vweb.Context
}
["/"]
pub fn (mut app App) home_index() vweb.Result {
return app.html("home")
}
["/about"]
pub fn (mut app App) about_index() vweb.Result {
return app.html("about")
}
fn main() {
vweb.run<App>(80)
}
而我运行这个命令来编译它
v -o dist/index src/index.v
并且当我运行这个命令时服务器启动
./dist/index
问题
当我浏览 http://localhost 时,我看到了主页文本,但是当我浏览 http:///localhost/about 时,我看到我的控制台打印了这个错误:
./dist/index
[Vweb] Running app on http://localhost:80
V panic: array.get: index out of range (i == -1, a.len == 0)
v hash: b3890e2
C.backtrace returned less than 2 frames
我注意到如果删除 home 路由代码块,不会引发错误(但我暂时不知道找到“/”路由时如何显示响应)。
问题
有谁知道为什么会出现这个错误?
注释
我的v版
v --version
V 0.2.2 b3890e2
我的OS版本
cat /etc/issue
Welcome to Alpine Linux 3.11
Gcc 版本
gcc --version
gcc (Alpine 9.3.0) 9.3.0
这是框架网络中的错误。 正在 PR #10001.
中解决