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");
Run Code Online (Sandbox Code Playgroud)
我的问题在这里是为什么每次需要用户时都需要检查?
另外,如果我的目录中有100个html文件,我需要通过get方法检查每个文件,然后通过返回页面res.sendFile吗?
@OrangeDog和@Clemens Himmer所说的都是事实。但是,在目录中提供服务目录中所有文件的最简单方法是:
app.use(express.static(__dirname + '/view'));
Run Code Online (Sandbox Code Playgroud)
这将成为一切都在你的view目录,如果该名称的URL匹配,如http://yoursite.com/index.html将解决在__dirname +“/view/index.html”的文件。
但是,在示例路由中,您似乎正在更改URL路径以使其不再与文件位置匹配(例如,/login您要解析为'/login.html')。您绝对可以编写中间件来修改它并根据模式来解析文件,但是到那时,使用已内置URL重写功能的专用Web服务器(如先前建议的nginx)要简单得多。
| 归档时间: |
|
| 查看次数: |
1355 次 |
| 最近记录: |