2016-05-09 9 views
1

「ノードjからjsファイルとcssファイルをロードできません」に関する多くの質問があります。愚かなパスエラーのように見えるが、ノードjの新しいので、それを把握することはできません。 私のすべてのファイルは、「d3」という名前の1つのフォルダの下にあります。どこに間違っているのでしょうか?ノードJsからJavascriptとCSSファイルをロードできません

var http = require('http'); 
var fs = require('fs'); 
var url = require('url'); 
var io = require('socket.io'); 
var redis = require('redis'); 
var redis = require("redis") 
, subscriber = redis.createClient(); 

subscriber.subscribe('channel'); 
var server = http.createServer(function(request, response){ 
    var path = url.parse(request.url).pathname; 
    switch(path) { 
     case '/socket.html': 
     fs.readFile(__dirname + path, function(error, data){ 
      if (error){ 
       console.log("Working " + error);       
       response.writeHead(404); 
       response.write("File doesn't exist - 404"); 
       response.end(); 
      } 
      else{ 
       response.writeHead(200, {"Content-Type": "text/html"}); 
       response.write(data, "utf8"); 
       response.end(); 
      } 
     }); 
     break; 

     default: 
     response.writeHead(404); 
     response.write("Doesnt Exist"); 
     response.end(); 
     break; 
    } 
}); 

/* Rest of the code */ 

server.listen(8000); 

答えて

2

ノードJSが要求を取得すると、あなたはswitchステートメントに要求されたパスを渡します。

リクエストが/socket.htmlの場合は、HTMLドキュメントを返します。

の場合は(例えばmy.js)の要求がある場合、404エラーを返します。

404を投げる代わりにJSとCSSを返さなければなりません。

+0

ありがとうございます。それはここから道を取ると思っていませんでした。 – Vishal

+0

ちょっと!この問題を見てほしいと願っています。 http://stackoverflow.com/q/37125138/2976463 – Vishal

関連する問題