我对 AngularJS 处理单页路由的方式有概念上的不确定性,以及这是否与从服务器检索典型的 css/javascripts 文件的方式完全相似。
假设我在渲染的 html 文件中有以下来源:
/javascripts/client.js
/css/main.css
我从来不用在我的服务器上收听它们(在 Express 中,像这样):
app.get('/:dir/:name',function(req,res){
if (req.params.dir == 'javascripts){
//render the client.js
//....
//render the main.css
})
Express 知道在哪里可以找到它们,并在我背后取回它们。即使我试着听那些,由于某种原因,当他们来的时候我永远无法抓住他们。
另一方面,当我在 AngularJS 中创建如下所示的路由时:
.config(function($routeProvider){
$routeProvider.when('/write',{templateUrl: '/templates/mainpage'})
});
我必须在后端收听并手动检索它。我必须这样写:
app.get('/templates/:name',function(req,res){
res.render('templates/'+req.params.name');
});
我怎样才能理解这种差异?
我欣赏任何光!