node-server icon indicating copy to clipboard operation
node-server copied to clipboard

Work on serve-static properly

Open renhiyama opened this issue 1 year ago • 3 comments

just keep it normal, like dont serve index.html unless explicitly set to...

app.use('/__reejs/**', serveStatic({ root: './.reejs/', rewriteRequestPath:(p)=>p.replace('__reejs','') }));
app.use('/', serveStatic({ file: "./.reejs/serve/index.html" }));
app.use('/**', serveStatic({ root: './public/' }));

as of @hono/[email protected], this code still doesnt work properly ...

This above code doesnt seve files inside .reejs folder properly, serves index.html when didnt ask to, and neither file option seems to work for me.

While it sounds reasonable to have served index.html automatically, I would suggest making that opt-in. Like:

app.use('/', serveStatic({ staticWebsite: true });

would just do the job.

renhiyama avatar Sep 13 '23 11:09 renhiyama

On top of that, it would be cool if I could intercept and modify file contents, which will only serve the modified file, and not apply changes to the real file. Something like modifyFileContent would sound cool!

renhiyama avatar Sep 13 '23 11:09 renhiyama

@renhiyama I'm facing the same issue. Is there any workaround? I tried serving static files from the public folder but that didn't work:

app.use('/static/**', serveStatic({ root: './public/' }));

ryands17 avatar Nov 07 '23 17:11 ryands17

@ryands17 I use hono w/ reejs + packit. Since packit is a code generator, I have configured it to read dir, get appropriate content type header and save the data as a json array to the final code. Then packit is configured to write a for loop on that array which registers route per file separately. This is just a small & easy workaround.

renhiyama avatar Nov 07 '23 17:11 renhiyama