繁体   English   中英

无法获取/错误 Node.js

[英]Cannot get / Error Node.js

嗨,伙计们,你能告诉错误吗? 错误

不能获取 /

所有文件都在同一个目录中

var fs = require('fs');
var express = require('express');
var path = require('path');

var app = express();

app.use('/index', function(req, res){
    res.sendFile(path.resolve(__dirname, './index.html'));
});

app.use('/app.js', function(req, res){
    res.sendFile(path.resolve(__dirname, './app.js'));
});

app.use('/style.css', function(req, res){
    res.sendFile(path.resolve(__dirname, './style.css'));
});

app.listen(8080, function(err){
    if(err) console.log(err);
});

你有app.use('/app'来告诉它如果客户端请求/app怎么办,你有app.use('/app.js'来告诉它如果客户端请求/app.js , 等等。

你没有app.use('/' !那么它应该在哪里找到/

(注意:要提供静态文件,您可能应该查看 Express Static 模块)。

您可以在路由中使用通配符以允许通过同一路由提供多个文件:

const express = require('express');
const app = express();

app.get('/*', function(req, res) {
    let filePath = req.params[0] || 'index.html';
    console.log('Getting ' + filePath);
    res.sendFile(filePath, {root: './'});
});

app.listen(8080, function(err){
    if(err) console.log(err);
});

为此使用静态模块可能会更好(正如其他人所建议的那样),例如

const express = require('express');
const app = express();

app.use(express.static('./'));

app.listen(8080, function(err){
    if(err) console.log(err);
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM