如何在NodeJS中执行redirect,如.htaccess文件?
我最近把我的完整的Web应用程序从PHP转换到了NodeJS。
在Apache中,我可以使用.htaccess
文件来执行redirect。 我的应用程序中的主要redirect是将所有CSS和JS文件从一个唯一的名称redirect到正确的path。 这是为了确保当我将更新推送到服务器时,我所需要做的就是更改全局variables,让客户端从服务器加载所有CSS和JS文件,而不是从caching中加载。
例如,在我的主要PHP文件中,我将包含一个全局variables,如下所示:
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(function(req, res, next){.....}
到它的实际path。我目前正在提供以下所有静态内容:
app.use(express.static(__dirname + '/public'));
您可以使用res.redirect('/redirect/path')
在Node中res.redirect('/redirect/path')