最近,我将我的整个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'));发布于 2016-06-30 00:21:33
您可以使用res.redirect('/redirect/path')重定向节点
https://stackoverflow.com/questions/38111935
复制相似问题