Javascript Node.js的问题路由-无法获取

Javascript Node.js的问题路由-无法获取,javascript,node.js,Javascript,Node.js,我终于在某个页面上完成了所有工作,但我现在面临的问题是当我创建其他页面时。我意识到问题一定出在我的路由上,但我不确定如何在不影响我的应用程序的情况下更改服务器端代码 var app = require('express')(); var http = require('http').Server(app); var io = require('socket.io')(http); app.get('/', function(req, res){ res.sendFile(__dirname

我终于在某个页面上完成了所有工作,但我现在面临的问题是当我创建其他页面时。我意识到问题一定出在我的路由上,但我不确定如何在不影响我的应用程序的情况下更改服务器端代码

var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);

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

io.on('connection', function(socket){
  // socket functions
});

http.listen(3000, function(){
  console.log('listening on *:3000');
});
我希望在“public”文件夹中提供html,并在其中包含index.html和other.html等文件。

如果您的文件夹名为public,则您可以执行以下操作

app.use(express.static('./public'))
    .get('/', function(req, res) {
        res.sendFile('index.html', {root: 'public/'});
    })

将express应用程序配置为使用静态目录

app.use(express.static('public'));
现在可以访问位于public下的所有文件。因此,现在可以通过/index.html访问名为index.html的文件

更多文档可在此处找到:


所以,基本上你是在问如何使用Node为静态文件提供服务?这个可能的重复返回ReferenceError:Express在我尝试启动服务器时没有定义,这是因为它确实没有定义。拥有一个像var express=require'express这样的全局变量,它就会起作用了,好吧,谢谢。深夜,大量的学习,大脑是油炸的。啊,太好了-这正是我要找的,也谢谢你的链接。我将对此进行更多的解读。我将代码更改为:var-app=require'express',http=require'http'.Serverapp,io=require'socket.io'http,express=require'express';app.useexpress.static'public';