nodejs connect cannot find static
The answer by dylants is helpful. However, here are the exact steps that I followed in order to resolve the same error. 1. From the command window , change directory to the directory in which you installed nodeJS. 2. After having already ran npm install connect, run:
npm install serve-static
3. Create a file named server.js with the following code:
var connect = require('connect'),
serveStatic = require('serve-static');
var app = connect();
app.use(serveStatic("./angularjs"));
app.listen(5000);
While still in command window, and still in the directory in which you have installed nodeJS, run:
node server.js
Navigate to the URL http://localhost:5000/test.html
This should work. Here is my directory configuration: C:\NodeJSInstallLocation\angularjs
The connect package has made some changes in the latest 3.x version of their code base, moving the static
middleware to it's own package. You can view the list of packages that have been moved here.
So you have two options:
Option 1
You can install an older, 2.x version of connect and use that as is:
$ npm install [email protected]
Installing the latest 2.X.X version will allow your current implementation to function properly.
Option 2
You can continue to use the 3.x version of connect, and also add serve-static
:
$ npm install serve-static
You would also have to update your server.js
file to include the new serve-static
module:
var connect = require('connect'),
serveStatic = require('serve-static');
var app = connect();
app.use(serveStatic("../angularjs"));
app.listen(5000);