我的意思是,当我根据 cdnjs 教程设置哈希路由时,假设测试该页面就好像该页面托管在某个地方(即 mywebsite.com/#/posts/23/
),而我当前在本地托管它,因此我的地址类似于 file:///C:/Folder/index.html
。
我的问题是如何使用该方法正确测试此哈希路由。我尝试像 file:///C:/Folder/index.html/#/posts/23
那样附加当前文件路径,但这没有任何作用。也许我的代码是主要问题;然而,它基本上是 cdnjs 提供的内容的副本。该代码适用于初始页面(即我通过默认路由收到空操作警报),因此我知道该代码的工作情况。
路由器代码:
var AppRouter = Backbone.Router.extend({
routes: {
"posts/:id": "getPost",
"*actions": "defaultRoute"
}
});
var app_router = new AppRouter;
app_router.on('route:getPost', function(id) {
alert("get post number " + id);
});
app_router.on('route:defaultRoute', function(actions) {
alert(actions);
});
Backbone.history.start();
最佳答案
我建议使用一个简单的节点服务器来提供索引路由。
尝试使用服务
:
$ npm install -g serve
然后你可以cd
到proj根目录,并运行:
$ serve .
默认情况下,我认为它在http://localhost:3000
上运行,所以你想将浏览器指向那里。
编辑
简短的回答是,您需要通过网络服务器来提供文件,您使用什么是您的选择,但正如您所说,您将无法使用绝对文件路径。
关于javascript - 如何在本地测试 Backbone 路由器哈希?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34879187/