节点js - socket.io - 链接的样式表没有加载...端口问题?

时间:2015-04-12 05:38:23

标签: html node.js websocket socket.io server

我有一个工作聊天应用程序(这里的教程:https://www.youtube.com/watch?v=QISU14OrRbI)连接到mysql而不是mongodb。

我在粘贴中的所有代码,减去css:http://pastebin.com/j5FLZyFP

我一直能够通过DOM头中的link元素链接到css文件。我想知道为什么这种方法在我的例子中不起作用,如果它与我使用的端口有什么关系。服务index.html页面的服务器在端口8080上运行,而我的套接字服务器在端口9000上运行。我是否应该为它们使用相同的端口?如果是这样,我该怎么做?

以下是我的浏览器@ 127.0.0.1:8080

的屏幕截图

我需要10个声望才能发布超过2个链接,拍我的手腕,我想 - https [冒号] [斜杠] [斜杠] imgur [dot] com [斜杠] a [斜杠] 22Vv5

我得到了页面服务,但我被迫按ESC以阻止main.css被转移。然后剩余的请求通过。不要关注inject.js,它代表了Wappalyzer的扩展,我尝试了禁用Wappalyzer的例子。

将我的CSS添加到样式标记是有效的,并且在我的情况下实现起来并不太麻烦,但解决这个问题会很好。感谢。

1 个答案:

答案 0 :(得分:0)

Kamran Adil在评论中已经很好地回答了这个问题。请参阅关联的问题:Node.js - external JS and CSS files (just using node.js not express)

这很好地添加了一个新条件来测试请求



    var param = 'main'; /* Stylesheet file name */

if(req.url.indexOf('.css') != -1) {
    fs.readFile('./styles/'+ param +'.css', function (err, data) {
	if (err) { console.log(err); }
	res.writeHead(200, {'Content-Type': 'text/css'});
	res.write(data);
	res.end();
    });
}