var express = require('../..'); var app = express(); // log requests app.use(express.logger('dev')); // express on its own has no notion // of a "file". The express.static() // middleware checks for a file matching // the `req.path` within the directory // that you pass it. In this case "GET /js/app.js" // will look for "./public/js/app.js". app.use(express.static(__dirname + '/public')); // if you wanted to "prefix" you may use // the mounting feature of Connect, for example // "GET /static/js/app.js" instead of "GET /js/app.js". // The mount-path "/static" is simply removed before // passing control to the express.static() middleware, // thus it serves the file correctly by ignoring "/static" app.use('/static', express.static(__dirname + '/public')); // if for some reason you want to serve files from // several directories, you can use express.static() // multiple times! Here we're passing "./public/css", // this will allow "GET /style.css" instead of "GET /css/style.css": app.use(express.static(__dirname + '/public/css')); // this examples does not have any routes, however // you may `app.use(app.router)` before or after these // static() middleware. If placed before them your routes // will be matched BEFORE file serving takes place. If placed // after as shown here then file serving is performed BEFORE // any routes are hit: app.use(app.router); app.listen(3000); console.log('listening on port 3000'); console.log('try:'); console.log(' GET /hello.txt'); console.log(' GET /js/app.js'); console.log(' GET /css/style.css');