While working on an express project, I am trying to use an express.Router
object to handle my application routes. In my main app file, I have added a static route for all my static files(css, javascript, html).
app.js
var express = require('express');
var io = require('socket.io')(app);
var bodyParser = require('body-parser');
var router = require('./include/router');
var app = express();
app.use('/', router);
app.use(express.static(__dirname + '/public'));
app.use(bodyParser.json());
io.on('connection', function(socket) {
});
app.listen(3000);
router.js
var express = require('express');
var path = require('path');
var router = express.Router();
router.get('/', function(req, res) {
res.sendFile('/html/index.html');
});
module.exports = router;
When I try to access localhost:3000
I get a 404 showing Error: ENOENT, stat 'C:\html\index.html'
Furthermore, when I try to access the static route directly(http://localhost:300/html/index.html
I believe), but that gives me Cannot GET /html/index.html
.
This is the tree of my public folder
public ├───css ├───hmtl | └───index.html ├───img └───js
Am I routing this wrong? How can I fix it?