javascript - 如何在本地测试 Backbone 路由器哈希?

标签 javascript backbone.js

我的意思是,当我根据 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/

相关文章:

javascript - 谷歌地图 API : force map to do not handle click inside infobox

javascript - 如何在触发 keyup 后继续 keydown 事件

javascript - 使用新模型重置 Backbone 集合不会覆盖以前的模型吗?

backbone.js - Backbone 路由在转换为 TypeScript 时不起作用

javascript - 如何通过javascript生成十字按钮(&times)

javascript - react / react Hook : Need to trigger validation for input when a user unchecks a checkbox

javascript - 在客户端计算机上使用 javascript 进行数据存储?

javascript - Backbone.js - Coffeescript 扩展

javascript - 没有客户端 JavaScript 的 Backbone.js

backbone.js - 使用backbone.js创建链接的首选方式