2017-07-20 23 views
0

許多Web框架(如AngularJS)都支持「路由」,用戶可以訪問該網站並根據請求URL顯示模板。但是這些框架完全是前端JS,只是簡單的'腳本src'導入,所以它如何設法捕獲對網站的所有請求,然後重定向到js文件進行處理等。AngularJS路由請求等框架如何運行

任何響應,因爲我一直在努力研究這些框架在一段時間內如何執行「捕獲」路由的一部分,但沒有運氣。

+1

你問如何準確的框架內處理路由,一旦文件已被後端服務?或者後端如何「控制」到前端?例如,當開發一個spa並在node.js中提供文件時,所有路由都可以用類似的方式處理: 'app.get('/ *',function(req,res){res.sendFile(path .join(__ dirname,'./build','index.html')); });' 這是你的意思嗎? – drlff

回答

0

讓我給你一個簡單的模型。

我們可以抓取當前的URL。然後,我們可以打破這個字符串,我們可以得到由'/'分隔的不同部分。我們可以根據哪些條件放置哪個頁面以及要顯示哪些數據。當我們決定我們可以使用ajax加載我們想要的頁面。

例如我當前的URL是https://www.example.com/module我可以得到「模塊」出這個URL,然後我可以在體內裝入我的網頁

$('body').load('module.html'); 

下面的代碼是從我目前的工作。瞭解如何捕獲不同的網址並將其路由到我指定的文檔。我也得到URL中的數據使用到我的Ajax請求等

app.config(function($routeProvider) { 
    $routeProvider.when("/", { 
     templateUrl : "home.html" 
    }).when("/logout", { 
     templateUrl : "logout.html" 
    }).when("/course/:id", { 
     templateUrl : "course.html" 
    }).when("/course/:courseId/assignment/:assignmentId", { 
     templateUrl : "assignment.html" 
    }); 
}); 
+0

'https:// www.example.com/sub/dir/module'如何?這是如何擊中「https:// www.example.com/index.js」,而不是「https:// www.example.com/sub/dir/index.js」? – veksen

+0

我們又如何爲我們設計路由系統。在這種應用中,只有一個入口點。該入口點管理路由,它不關心你傳遞的網址。 –

+0

檢查編輯的帖子,我有不同級別的URL,但他們調用根目錄中的文件。 –