Javascript 如何在express中更改根

Javascript 如何在express中更改根,javascript,html,express,Javascript,Html,Express,我是一名网络程序员新手,我想做一个网站,当我按下一个按钮时,它会打开另一个html文件,我使用express,所以我尝试做如下操作: var express = require('express'); var app = express(); var path = require('path'); app.use(express.static(path.join(__dirname, "public"))); app.get('/', function(req, res){ res

我是一名网络程序员新手,我想做一个网站,当我按下一个按钮时,它会打开另一个html文件,我使用express,所以我尝试做如下操作:

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

app.use(express.static(path.join(__dirname,  "public")));

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

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

var server = app.listen(8000, function(req, res){
    var host = server.address().address;
    var port = server.address().port;
    console.log("server in ascolto su %s%s", host, port);
});
但我不知道如何打开“\chat”
为什么listen的console.log会在我的控制台“ascolto su::8080中的服务器”上打印,而不会打印我的ip?

不确定为什么你的ip地址没有显示,但是你可能只需将它们移动到
public
目录,就可以显示
index.html
chat.html

files/
public/
  chat.html
  index.html
  css/
    app.css
  js/
    app.js  
app.use(express.static(path.join(__dirname,  "public")));
您可以通过转到或不必为它们添加路由来查看它们,因为ypu已经告诉Express server您正在为来自
public
目录的静态资产提供服务:

files/
public/
  chat.html
  index.html
  css/
    app.css
  js/
    app.js  
app.use(express.static(path.join(__dirname,  "public")));
我决定使用:

window.location.replace(chat);

服务器在本地主机上启动,或者IP通常为
127.0.0.1
请尝试在浏览器中打开
localhost:8080
127.0.0.1:8080
。这将打开
index.html
。类似地,
localhost:8080/chat
将打开
chat.html
你在虚拟机上运行nodejs吗?@OmriLuzon不,为什么?好的,我知道,但我不知道如何用按钮切换url,比如:$(按钮)。onclick(function(){open(chat.html)});虽然您的方式在现代浏览器中有效,
window.location.href=”http://example.com/;
建议用于跨浏览器支持。