使用socket.io和node.js时更改文件目录?

时间:2016-06-26 13:32:55

标签: javascript html node.js

我创建了一个成功的连接,并处理了某人连接和断开连接的事件。但是我现在正在尝试清理我的文件夹以创建一些更干净的东西。

我已经看过一些更改目录的例​​子,但似乎我遗漏了一些东西。

我对使用节点和套接字很新,所以看起来似乎有点明显。

我的基本文件结构是我有一个主应用程序文件夹,带有index.html文件,带有所有相关节点和套接字代码的服务器文件夹,然后是带有css,js,图像文件夹的公用文件夹。

File Structure

所以我的索引在路线中。 我也发现当我尝试链接样式表和js文件时,它会返回404错误。不完全确定。任何帮助将不胜感激。

// Sets a base path for acessing all files
app.use(express.static('/'));

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

编辑:

更新了文件结构: New Structure

enter image description here

enter image description here

2 个答案:

答案 0 :(得分:1)

您不需要app.getexpress.static处理索引。您也是从/而不是../public投放的(我猜是根据您的结构)。试试这个:

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

如果是我,我会将index.html移动到公共文件夹中,并将您的服务器逻辑移动到根目录中。这样你可以做到

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

答案 1 :(得分:0)

如果您的index.html是服务器js文件中的文件夹,则需要将其更改为

res.sendFile(__dirname + '../index.html');