Javascript 使用html获取express中未调用的路由
我有一个非常简单的应用程序,所以我不认为我需要一个完整的前端模板,比如angular,我也不想使用JadeJavascript 使用html获取express中未调用的路由,javascript,node.js,express,Javascript,Node.js,Express,我有一个非常简单的应用程序,所以我不认为我需要一个完整的前端模板,比如angular,我也不想使用Jade app.get('*', function(req, res) { res.sendFile(__dirname + '/public/index.html'); }); 基本上我返回一个html文件,我可以调用其他html文件,比如 login.html signup.html 但让我困惑的是,我的路线没有被命名。例如,我向/login发送一个GET请求,但没有“login GE
app.get('*', function(req, res) {
res.sendFile(__dirname + '/public/index.html');
});
基本上我返回一个html文件,我可以调用其他html文件,比如
login.html
signup.html
但让我困惑的是,我的路线没有被命名。例如,我向/login发送一个GET请求,但没有“login GET”输出
//编辑:即使使用req、res,我也可以删除下面的函数,并且仍然可以接收index.html
app.get('/login',function(req,res){
console.log("LOGIN GET")
res.sendFile( path.join( __dirname, 'public', 'login.html' ));
});
如果未调用我的路由,如何将login.html发送到客户端?路由处理程序缺少req和res参数。对于静态文件,您也可以按照
你应该使用快速路由器
var router = express.Router();
然后,你就可以
router.get("/login",function(req,res){
console.log("LOGIN GET")
res.sendFile( path.join( __dirname, 'public', 'login.html' ));
});
我猜你是先宣布了“一网打尽”的路线:
app.get('*', function(req, res) {
res.sendFile(__dirname + '/public/index.html');
});
app.get('/login',function(req,res){
console.log("LOGIN GET")
res.sendFile( path.join( __dirname, 'public', 'login.html' ));
});
因为/login
匹配*
,Express也将使用第一条路由来处理/login
的请求。通常,使用Express时,您需要首先声明更具体的路线:
app.get('/login',function(req,res){
console.log("LOGIN GET")
res.sendFile( path.join( __dirname, 'public', 'login.html' ));
});
app.get('*', function(req, res) {
res.sendFile(__dirname + '/public/index.html');
});
其他HTML文件工作的原因是您可能也在使用express.static()
(但没有显示它)
app.get('/login',function(req,res){
console.log("LOGIN GET")
res.sendFile( path.join( __dirname, 'public', 'login.html' ));
});
app.get('*', function(req, res) {
res.sendFile(__dirname + '/public/index.html');
});