我正在用socket.io制作一个应用程序,所以现在我正在用HTML和CSS制作用户界面,并且一切正常,除了当我尝试使用导航返回index.html时。无法得到它。其他Nav元素之所以起作用,是因为它们位于公共目录中,但是如果我将索引文件移动到公共目录中,它将说它根本找不到index.html。因此,我的主要问题是,如何获取它以能够在公共目录中找到HTML文件,而不是从公共目录中找到索引文件?
文件结构:
index.html
server.js
public
settings.html
friends.html
用于导航的HTML:
<nav>
<ul>
<li><a href="http://localhost:5000/index.html" >Chat</a></li>
<li><a href="http://localhost:5000/friends.html">Friends</a></li>
<li><a href="http://localhost:5000/settings.html">Settings</a></li>
</ul>
</nav>
相关JS:
var express = require('express');
var app = express();
app.use(express.static('public'))
答案 0 :(得分:3)
我如何获取它可以找到不在公共目录中的html文件
您需要:
static
路由在根目录而不是公共目录中出现(这不是一个好主意,因为那里有服务器代码)static
路线(同上)get
编写一个明确的/
处理程序,该处理程序具有读取index.html
并返回的代码