`express.static()` keeps routing my files from the route

后端 未结 1 1372
你的背包
你的背包 2020-12-30 09:30

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 rou

相关标签:
1条回答
  • 2020-12-30 09:45

    You must inverse the order of your router

    app.use('/', router);
    app.use(express.static(__dirname + '/public'));
    

    means your router will be called first and, if no middleware handles the request, then express will call static files so, if you put the static middleware first, the express will handle static files first.

    It is also recommended to put static middleware first.

    For your problem you should try this:

    app.use(express.static(__dirname + '/public/html'));
    app.use(express.static(__dirname + '/public'));
    app.use('/', router);
    

    Express will try static files first on public/html folder, then on the rest (including the public/html), i prefer putting html files on the root of public folder or maybe on a different folder (e.g public-html, static-html)

    0 讨论(0)
提交回复
热议问题