I am coming from a (traditional) server side scripting (PHP) background and am trying to experiment with Node to see what the fuss is all about.
Objective: serve up a simple web document with some style sheets and scripts on it.
My node.js script:
var http = require('http');
var fs = require('fs');
fs.readFile('index.html', function (err, html) {
if (err) {
throw err;
}
http.createServer(function(request, response) {
response.writeHeader(200, {Content-Type: text/html});
response.write(html);
response.end();
}).listen(1337, '127.0.0.1');
});
index.html:
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<title>Node.js test</title>
<link rel=stylesheet media=screen type=text/css href=css/plugin.css />
<link rel=stylesheet media=screen type=text/css href=css/xGrid.css />
<link rel=stylesheet media=screen type=text/css href=css/jquery-ui/jquery-ui-1.10.1.custom.min.css />
<script src=https://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js></script>
<script src=https://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js></script>
<script src=js/slate.js></script>
<script src=js/slate.portlet.js></script>
<script src=js/slate.message.js></script>
<script src=js/plugin.js></script>
</head>
<body>
<h1 class=styled-h1>Test</h1>
</body>
</html>
The problem I am facing:
The two script includes coming from the Google CDN are loaded on to the document fine. However, every other style sheet or script being called from my local file system get interpreted as text/html
and so don't have the intended effect. Here is a screenshot from Google Chrome console:
I want to understand why this is happening.
PS: I know I can use a framework like Express to make things easier but I want to get a hold of the fundamentals first.