Javascript 关于单页应用程序中模板检索的混淆以及与典型文件检索的区别

Javascript 关于单页应用程序中模板检索的混淆以及与典型文件检索的区别,javascript,node.js,http,angularjs,express,Javascript,Node.js,Http,Angularjs,Express,我对AngularJS处理单页路由的方式有一个概念上的不确定性,以及这是否与从服务器检索典型css/javascripts文件的方式类似 假设在呈现的html文件中有以下源: /javascripts/client.js /css/main.css 我从不需要在我的服务器上监听它们(在Express中,如下所示): Express知道到哪里去找他们,在我背后找到了他们。即使我试着去听,由于某种原因,当他们来的时候,我也没能抓住他们 另一方面,当我在AngularJS中创建一条如下所示的路线时:

我对AngularJS处理单页路由的方式有一个概念上的不确定性,以及这是否与从服务器检索典型css/javascripts文件的方式类似

假设在呈现的html文件中有以下源:

/javascripts/client.js
/css/main.css
我从不需要在我的服务器上监听它们(在Express中,如下所示):

Express知道到哪里去找他们,在我背后找到了他们。即使我试着去听,由于某种原因,当他们来的时候,我也没能抓住他们

另一方面,当我在AngularJS中创建一条如下所示的路线时:

app.get('/:dir/:name',function(req,res){
 if (req.params.dir == 'javascripts){
  //render the client.js
  //....
  //render the main.css
 })
.config(function($routeProvider){
$routeProvider.when('/write',{templateUrl: '/templates/mainpage'})  
});
我必须在我的后端监听它,然后手动检索它。我必须写下:

app.get('/templates/:name',function(req,res){
 res.render('templates/'+req.params.name');
});
我如何理解这种差异


我喜欢任何光线

Express不会在你背后做任何事情。Express知道在何处查找这些静态文件,因为您通过定义以下内容告诉Express在何处查找这些静态文件:

app.use(express.static(path.join(__dirname, 'public')));
不要这样做:

app.get('/templates/:name',function(req,res){
 res.render('templates/'+req.params.name');
});
创建静态html模板并将其放入公用文件夹。快车将为他们服务。 使用来自服务器的json数据填充模板


您正在混合使用express视图和angularjs模板。两者都是为不同的用途而设计的。

Express不会在背后做任何事情。Express知道在何处查找这些静态文件,因为您通过定义以下内容告诉Express在何处查找这些静态文件:

app.use(express.static(path.join(__dirname, 'public')));
不要这样做:

app.get('/templates/:name',function(req,res){
 res.render('templates/'+req.params.name');
});
创建静态html模板并将其放入公用文件夹。快车将为他们服务。 使用来自服务器的json数据填充模板


您正在混合使用express视图和angularjs模板。两者都是为不同的用途而设计的。

Express不会在背后做任何事情。Express知道在何处查找这些静态文件,因为您通过定义以下内容告诉Express在何处查找这些静态文件:

app.use(express.static(path.join(__dirname, 'public')));
不要这样做:

app.get('/templates/:name',function(req,res){
 res.render('templates/'+req.params.name');
});
创建静态html模板并将其放入公用文件夹。快车将为他们服务。 使用来自服务器的json数据填充模板


您正在混合使用express视图和angularjs模板。两者都是为不同的用途而设计的。

Express不会在背后做任何事情。Express知道在何处查找这些静态文件,因为您通过定义以下内容告诉Express在何处查找这些静态文件:

app.use(express.static(path.join(__dirname, 'public')));
不要这样做:

app.get('/templates/:name',function(req,res){
 res.render('templates/'+req.params.name');
});
创建静态html模板并将其放入公用文件夹。快车将为他们服务。 使用来自服务器的json数据填充模板


您正在混合使用express视图和angularjs模板。两者都是为不同的用途而设计的。

谢谢。现在正在试着处理它(玉有点乱)。呈现静态文件然后通过json检索数据是否比呈现动态文件更可取?简单地说,原因是性能。您不需要在每个请求上呈现静态内容。我不知道你在模板中做什么,也不知道你是如何用angular填充这些模板的。我理解。谢谢,谢谢。现在正在试着处理它(玉有点乱)。呈现静态文件然后通过json检索数据是否比呈现动态文件更可取?简单地说,原因是性能。您不需要在每个请求上呈现静态内容。我不知道你在模板中做什么,也不知道你是如何用angular填充这些模板的。我理解。谢谢,谢谢。现在正在试着处理它(玉有点乱)。呈现静态文件然后通过json检索数据是否比呈现动态文件更可取?简单地说,原因是性能。您不需要在每个请求上呈现静态内容。我不知道你在模板中做什么,也不知道你是如何用angular填充这些模板的。我理解。谢谢,谢谢。现在正在试着处理它(玉有点乱)。呈现静态文件然后通过json检索数据是否比呈现动态文件更可取?简单地说,原因是性能。您不需要在每个请求上呈现静态内容。我不知道你在模板中做什么,也不知道你是如何用angular填充这些模板的。我理解。非常感谢。