代码之家  ›  专栏  ›  技术社区  ›  Jacob Johnson

如何在本地测试骨干路由器哈希?

  •  0
  • Jacob Johnson  · 技术社区  · 9 年前

    我的意思是,当我根据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();
    
    2 回复  |  直到 9 年前
        1
  •  1
  •   Joe Fitter    9 年前

    我建议使用一个简单的节点服务器来服务索引路由。

    尝试使用 serve :

    $ npm install -g serve
    

    那么你可以 cd 到proj根目录,并使用以下命令运行:

    $ serve .
    

    默认情况下I 认为 它在 http://localhost:3000 所以你想把你的浏览器指向那里。

    编辑

    简单的回答是,您需要使用Web服务器来服务文件,您可以选择使用什么,但正如您所说,您将无法使用绝对文件路径。

        2
  •  0
  •   Community CDub    8 年前

    显然,使用 file/// 网址。请参见以下答案: Routers apparently doing nothing locally in Backbone.js

    答案是使用Apache;然而,这对我没有特别的帮助,因为我无法使用Apache Web服务器。仍在寻找另一个解决方案,但我想我也会发布这个。