gpt4 book ai didi

javascript - 如何在 NodeJS 中像 .htaccess 文件一样执行重定向?

转载 作者:太空宇宙 更新时间:2023-11-04 00:38:00 27 4
gpt4 key购买 nike

我最近将完整的 Web 应用程序从 PHP 转换为 NodeJS。

在 Apache 中,我可以使用 .htaccess 文件来执行重定向。我的应用程序中的主要重定向是将所有 CSS 和 JS 文件从唯一名称重定向到正确的路径。这是为了确保当我将更新推送到服务器时,我所需要做的就是更改全局变量,让客户端从服务器而不是从缓存加载所有 CSS 和 JS 文件。

例如,在我的主 PHP 文件中,我将包含一个全局变量,如下所示:

define('js_version', "7fn39tg");

然后在我的 PHP 文件中,我将包含所有 JS 和 CSS 文件,如下所示:

<script src="content/scripts/my-script__<?php echo js_version ?>.js"></script>

然后他们将得到如下所示的渲染客户端幻灯片:

<script src="content/scripts/my-script__7fn39tg.js"></script>

最后,我将使用 .htaccess 从文件的原始位置读取文件,即 my-script.js:

RewriteRule ^(.+)\_\_(.+)\.(js)$ $1.$3 [L]

如何在 NodeJS 中执行上述操作?

我想我需要使用 EJS 在模板内呈现版本号,如下所示:

app.get('/', function (req, res) {
res.render(__dirname + '/public/app.ejs', {
"js_version": "7fn39tg"
});
});

并将其包含在我的 app.ejs 文件中,如下所示:

<script src="content/scripts/my-script__<%= js_version %>.js"></script>

然后使用 app.use(function(req, res, next){.....} 以某种方式将文件定向到其实际路径。我目前正在提供所有静态内容来自以下内容:

app.use(express.static(__dirname + '/public'));

最佳答案

您可以使用 res.redirect('/redirect/path') 在 Node 中进行重定向

关于javascript - 如何在 NodeJS 中像 .htaccess 文件一样执行重定向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38111935/

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