Express.js handlebars, get a directory of static files, save the changes according to the url

I am new to express. Basically my question is very simple. I want to serve files like / css javascript from one public directory.

layout.hbs

 <html>
    <head>
      <link href="css/style.css" rel="stylesheet" />
      <script src="js/app.js"></script>
    </head>

    <body> 
      {{{body}}}
    </body>
  </html>

router.js -> I have three routes that point to one index.hbs

router.get("/", function(req,res){
   res.render("index.hbs");
})
router.get("/articles", function(req,res){
   res.render("index.hbs");
})
router.get("/articles/show/:id", function(req,res){
   res.render("index.hbs");
})

Now the problem is when I run this address:

 curl "http://localhost:3000/"

      http://localhost:3000/js/app
      http://localhost:3000/css/style.css
----------------------------------------------
    curl "http://localhost:3000/articles"

      http://localhost:3000/articles/js/app
      http://localhost:3000/articles/css/style.css
----------------------------------------------
    curl "http://localhost:3000/show/1"

      http://localhost:3000/show/1/js/app
      http://localhost:3000/show/1/css/style.css

note that the path of / css and / js changes according to UrlRequest. How to prevent this?

I use express and handlebars and already installed my static file

app.use(express.static(path.join(__dirname, 'public');
+4
source share
1 answer

URL- JS CSS URL- : css/style.css /css/style.css.

" ( ), " ) - , .

+9

Source: https://habr.com/ru/post/1615781/


All Articles