gpt4 book ai didi

javascript - 单页应用程序中模板检索的困惑以及与典型文件检索的区别

转载 作者:行者123 更新时间:2023-11-28 20:12:38 25 4
gpt4 key购买 nike

对于 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');
});

我如何理解这种差异?

我很欣赏任何光线!

最佳答案

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 模板并将其放入 public 文件夹中。 express 将为他们服务。使用来自服务器的 json 数据填充模板。

您正在混合表达 View 和 angularjs 模板。两者都是为不同的用途而设计的。

关于javascript - 单页应用程序中模板检索的困惑以及与典型文件检索的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19665150/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com