【问题标题】:Node js - socket.io - Linked Stylesheet not loading... port issue?Node js - socket.io - 链接样式表未加载...端口问题?
【发布时间】:2015-06-17 15:25:47
【问题描述】:

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

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

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

下面是我浏览器@127.0.0.1:8080的截图

我需要 10 个声望才能发布 2 个以上的链接,我想拍我的手腕 - https[colon][slash][slash]imgur[dot]com[slash]a[slash]22Vv5

我得到了页面,但我不得不按 ESC 来阻止 main.css 被传输。然后剩余的请求通过。不要担心 inject.js,它代表 Wappalyzer 扩展,我已经尝试了禁用 Wappalyzer 的示例。

将我的 CSS 添加到样式标签是可行的,并且在我的情况下实现起来并不太麻烦,但如果能解决这个问题会很好。谢谢。

【问题讨论】:

  • 类似的问题和解决方案在这里:stackoverflow.com/questions/12134554/…
  • 所以我必须使用'url'和'fs'包来加载(所有)外部资源?这似乎可行。非常感谢!稍后我会用新的眼光尝试一下,如果可行,请标记为已解决。
  • 最好使用一些节点框架,如express。它会处理很多事情,您不必从头开始编写所有内容。

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


【解决方案1】:

cmets 中的 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();
    });
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-20
    • 2018-03-27
    • 2011-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多