2016-01-19 24 views
0

我的意思是當我爲每個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(); 

回答

1

我會建議使用一個簡單的節點服務器來服務索引路由。

嘗試使用serve

$ npm install -g serve 

那麼你可以cd到該凸出根目錄下,並與運行:

$ serve . 

默認我認爲它服務於http://localhost:3000所以要指向你的瀏覽器。

編輯

簡短的回答是,你需要服務與網絡服務器中的文件,你用的是你的選擇,但正如你所說,你將無法使用絕對文件路徑。

0

顯然骨幹不使用file/// URL正常工作。看到這個答案:Routers apparently doing nothing locally in Backbone.js

答案是使用Apache;但是,這並不能幫助我,因爲我無法使用Apache Web服務器。仍在尋找另一種解決方案,但我想我也會發布這個。