Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to create a simple html server using express js

I'm new in node.js I want to create a simple express.js static file server, but I have some issues. I have been installed express.js 4.2 globally like this:

npm install  -g express-generator

I have this code in httpsrv.js:

var http = require('http');
var express = require('express');
var app = express();

app.use('/', express.static(__dirname + '/public'));
app.listen(3000, function() { console.log('listening')});

I'm not sure is it ok I guess it is not enough, but I cant run it it's failed with error: cannot find module 'express'.

I want to create a simple http server which can serve from specific folder("\public" e.g.) and I'm using .html language. I found on the internet a many bullshit, I don't want to use this .jade thing and I don't want to create a empty web app with express etc. I want express.js http server which can operate like Apache and can serve a static html pages first from a specified folder. Can anybody help me on this, suggest a good article which is explain a step by step, because I'm beginner.

like image 809
Zsoca Avatar asked Jul 01 '14 19:07

Zsoca


People also ask

Does express JS create a server?

js with a few lines of code. Express allows us to get to "Hello World" with a server quickly. We'll create a basic server with a single route, create a middleware to log requests that we receive, as well as start our server listening on for requests on our localhost.

Can Express serve HTML?

Delivering HTML files using Express can be useful when you need a solution for serving static pages. Note: Prior to Express 4.8. 0, res. sendfile() was supported.


1 Answers

If you're just trying to serve static files from a directory called "public", you might have luck with an app like this:

var path = require('path');
var express = require('express');

var app = express();

var staticPath = path.join(__dirname, '/public');
app.use(express.static(staticPath));

app.listen(3000, function() {
  console.log('listening');
});

You'll need to make sure Express is installed. You'll probably run npm install express --save in the same directory as the above JavaScript file. Once you're all ready, you'll run node the_name_of_the_file_above.js to start your server.

like image 84
Evan Hahn Avatar answered Sep 17 '22 03:09

Evan Hahn