node server 重定向处理

//发布运行服务器,运行 npm run build 后复制到dist目录中
var http = require("http");
var url = require("url");
var fs = require("fs");
let headers = {};//{'Content-Type' : 'text/html;charset=utf8'}; 不能使用这样的表头,否则样式等文件会出现加载问题。
var server = http.createServer(function (req, res) {
    var req_path = url.parse(req.url).path;
    if(req_path=='/'||req_path==''){
       req_path='/index.html';
    }
    var filepath = __dirname + req_path;

    fs.exists(filepath, function (exists) {
        if (exists == false) {//若不存在则重定向到index.html
            filepath = __dirname + '/index.html';
        }
        fs.stat(filepath, function (err, stats) {
            if (err) {
                res.writeHead(500, headers);
                res.end('<div styel="color:black;font-size:22px;">server error</div>');
            } else {
                if (stats.isFile()) {
                    var file = fs.createReadStream(filepath);
                    res.writeHead(200, headers);
                    file.pipe(res);
                } else {//目录访问
                    fs.readdir(filepath, function (err, files) {
                        var str = '';
                        for (var i in files) {
                            str += '<a href="' + files[i] + '">' + files[i] + '</a><br/>';
                        }
                        res.writeHead(200, headers);
                        res.write(str);
                    });
                }
            }
        });
        // }else{
        // 	res.writeHead(404, {'Content-Type' : 'text/html;charset=utf8'});
        // 	res.end('<div styel="color:black;font-size:22px;">404 not found</div>');
        // }
    });
});
server.listen('8086', '127.0.0.1');

 

转载于:https://my.oschina.net/loyin/blog/3006050

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
后端重定向到Vue页面的步骤如下: 1. 在Vue项目中,使用Vue Router来管理路由,为每个页面配置一个路由地址。 2. 在后端代码中,通过HTTP请求处理程序来监听客户端请求,当请求的URL地址匹配到Vue页面的路由地址时,将请求重定向到Vue页面。 3. 重定向时,需要指定Vue页面的URL地址,可以使用绝对路径或相对路径。如果使用相对路径,需要确保路径正确,可以根据Vue项目的目录结构来进行相对路径的计算。 4. 在重定向时,需要发送一个HTTP响应,将状态码设置为302,表示重定向。同时,需要在响应头中设置Location字段,指定重定向的URL地址。 下面是一个使用Node.js和Express框架实现后端重定向到Vue页面的示例代码: ``` const express = require('express'); const path = require('path'); const app = express(); // 静态资源目录 app.use(express.static(path.join(__dirname, 'public'))); // 处理路由请求 app.get('/vue-page', (req, res) => { // 重定向到Vue页面 res.redirect('/vue-page.html'); }); // 启动服务 app.listen(3000, () => { console.log('Server started on port 3000'); }); ``` 在上面的代码中,我们首先使用`express.static`中间件来指定静态资源目录,这样我们就可以在Vue项目中使用打包后的静态文件和资源。 然后,我们使用`app.get`方法来处理客户端请求,当请求的URL地址为`/vue-page`时,将请求重定向到`/vue-page.html`页面。 最后,我们使用`app.listen`方法来启动服务,监听3000端口。当有请求到达时,Express会自动调用相应的处理程序来处理请求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值