gpt4 book ai didi

Node.js 提供 HTML 页面和静态内容

转载 作者:搜寻专家 更新时间:2023-11-01 00:11:41 24 4
gpt4 key购买 nike

var express = require("express");
var app = express();
var path = require("path");

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

app.get('/dashboard',function(req,res){
res.sendFile((path.join(__dirname + '/dashboard.html'));
});

app.get('/index1',function(req,res){
res.sendFile((path.join(__dirname+'/index.html'));
});
app.get('/',function(req,res){
res.redirect('/login');
});
app.get('/login',function(req,res){
res.redirect((path.join(__dirname + '/login'));
});

app.listen(3000);

console.log("Running at Port 3000");

我的问题是为什么我每次都需要检查用户请求的内容?

此外,如果我的目录中有 100 个 html 文件,我是否需要通过 get 方法检查每个文件,然后通过 res.sendFile 返回页面?

最佳答案

@OrangeDog 和@Clemens Himmer 所说的都是真的。但是,为目录中的所有文件提供服务的最简单方法已经在您的脚本中:

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

如果名称与 URL 相匹配,这将服务于您的 view 目录中的所有内容,例如http://yoursite.com/index.html将解析为 __dirname + '/view/index.html' 处的文件。

但是,在您的示例路由中,您似乎正在更改 URL 路径以不再匹配文件位置(例如,您要解析为“/login.html”的 /login) .您绝对可以编写中间件来处理它并根据模式解析文件,但此时使用具有 URL 重写功能的专用 Web 服务器(如之前建议的 nginx)要简单得多。

关于Node.js 提供 HTML 页面和静态内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37299108/

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