gpt4 book ai didi

javascript - 缓存并避免重新加载 html、css 和 js 文件

转载 作者:太空宇宙 更新时间:2023-11-04 11:47:23 24 4
gpt4 key购买 nike

我在我的模板中使用了 node.js 和 ejs,并且我为我的所有 html 文件包含了 header.html,其中包含所有库和样式文件。我遇到的问题是,当我在 html 文件(例如:home.html 和 about.html)之间切换时,它会重新加载所有 html、css 和 js。

如何缓存 js 和 css 文件并避免在渲染时重新加载它们?

是否有一种简单方便的方法(插件)来换出正文内容而不是每次为每个 html 文件重新加载 header.html?

HTML 文件(home.html 和 about.html)

<% include header.html %>
<body>
<% include navbar.html %>
<% include menu.html %>
</body>

home.html 和 about.html 的路由文件

router.get('/', function(req, res) {
req.getConnection(function (err, conn) {
res.render('home', {data: rows});
});
});

我需要在后台进行大量的查询,需要将数据返回给前台。

最佳答案

您要做的是构建一个加载数据的应用程序,该数据将保持静态,而网站的某些区域会根据用户交互或其他原因动态变化。

这称为单页应用程序 (SPA https://en.wikipedia.org/wiki/Single-page_application ),其中涉及的主要技术是 AJAX。有很多方法可以做到这一点,许多框架(例如 AngularJS、Knockout 等)也可以帮助您做到这一点。

如果您通过服务器端代码加载新的页面状态,那么如果您希望以正确的方式实现此效果,则您的架构将需要重构或最好重建。每次您的用户刷新页面时,所有数据都必须重新发送给用户,因此您必须在每次更新时重新发送整个 View (数据和 dom Node 脚本包括图像等)在 UI 上执行。

你可以在服务器上缓存一些东西,甚至客户端缓存用户还没有访问过的页面......但是如果没有 ajax 就真的没有办法解决你必须每次都重新加载整个页面的事实更新。

关于如何使用 NodeJS 构建它的演示比海洋中的鱼还要多,但这里是我的 SERP 结果中最受欢迎的一个 https://scotch.io/tutorials/creating-a-single-page-todo-app-with-node-and-angular .

关于javascript - 缓存并避免重新加载 html、css 和 js 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30880754/

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