使用node.js服务器引用外部文件?

时间:2011-04-17 00:58:03

标签: resources node.js

我有一个Ubuntu 10.04托管服务器,它允许我运行node.js。我正在制作一个测试主页,我有几个文件如下:

index.html

<!DOCTYPE html>

<html lang="en">
<head>
    <meta charset="utf-8">
    <title>iSuperMario</title>

    <link rel="stylesheet" href="css/reset.css">
    <link rel="stylesheet" href="css/style.css">

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
    <script src="/nowjs/now.js"></script>
    <script src="js/chat.js"></script>
</head>
<body>
    <div id="wrapper">
        <div id="header">
            <img src="images/green_pipe_960.png">
            <img src="images/orange_pipe_960.png">
        </div>
        <div id="chat">
            <input type="text" id="text-input">
            <input type="button" value="Send" id="send-button">
        </div>
        <div id="content">
        </div>
        <div id="rooms">
        </div>
    </div>
</body>
</html>

reset.cssstyle.css(两者都包含index.html页面的样式

chat.js(其中包含一些脚本以实现index.html页面的准系统聊天功能)

server.js这是node.js服务器,利用nowjs在Ubuntu服务器的端口index.html上提供8080页面并实现聊天功能:

var fs = require('fs');
var server = require('http').createServer(function(req, response){
  fs.readFile(__dirname+'/index.html', function(err, data){
    response.writeHead(200, {'Content-Type':'text/html'});
    response.write(data);
    response.end();
  });
});
server.listen(8080);
var everyone = require("now").initialize(server);


everyone.connected(function(){
  console.log("Someone has joined!");
});


everyone.disconnected(function(){
  console.log("Someone has left...");
});

everyone.now.distributeMessage = function(message){everyone.now.receiveMessage(message);};

因此,当我在浏览器中从服务器查看页面时,没有任何外部资源(reset.cssstyle.csschat.jsgreen_pipe_960.png和{{1正确连接。

我该如何启用这些?我的意思是,如果必须这样做,并且它大大简化了这个过程,我总是可以在orange_pipe_960.png中包含外部样式和脚本。但是,图像永远不会被嵌入(至少我认为是xD)。

谢谢!

2 个答案:

答案 0 :(得分:1)

您需要按如下方式设置文件结构

 = main
   = index.html
   = css
     = reset.css
     = style.css
   = js
     = chat.js
   = images
     = green_pipe..
     = orange_pipe..

或者,您可以更改您的网址以匹配您的真实文件结构。

如果您想要提供超出基本原型的服务,我建议您使用express或其他内容。

答案 1 :(得分:0)

此网页可能有所帮助。 Serving Static Files from Node.js