节点JS服务器,无法获取index.html

时间:2018-10-08 15:25:08

标签: javascript html node.js file server

我正在用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'))

1 个答案:

答案 0 :(得分:3)

  

我如何获取它可以找到不在公共目录中的html文件

您需要:

  • 使static路由在根目录而不是公共目录中出现(这不是一个好主意,因为那里有服务器代码)
  • 设置另一条static路线(同上)
  • get编写一个明确的/处理程序,该处理程序具有读取index.html并返回的代码