Anil Samal Anil Samal - 2 months ago 19
Node.js Question

Node JS Configuration

I am trying configure my node js to run my html code.I am using bootstrap and Express Js also.When I run node js its not loading the css.Can anyone help me what could be the issue.Here is the node js code snippet.

var express = require("express");
var app = express();
var path = require("path");
app.get('/',function(req,res) {
res.sendFile(__dirname + '/home.html')
})
app.use(express.static(__dirname + '/public'))
app.listen(3000);

console.log("Running at Port 3000");


When I directly load the HTML files it loads the CSS properly but when i use node js to load it it fails.What could be the cause of the issue?

Answer

Check your directory structure is correct and that you have given the correct permission for Node.js to enter the directories and read the file.

If your directory structure looks like this:

/public
    /stylesheets
        home.css
home.html
server.js

And your server.js code looks like this:

var express = require("express");
var app     = express();
var path    = require("path");
app.get('/',function(req,res) {
    res.sendFile(__dirname + '/home.html');
})
app.use(express.static(__dirname + '/public'));
app.listen(3000, function() { 
    console.log("Listening on port 3000"); 
});

When you run this:

node ./server.js

And visit this URL in your browser:

http://localhost:3000/stylesheets/home.css

You will get your home.css file returned.

Comments