denoland / fresh

The next-gen web framework.
https://fresh.deno.dev
MIT License
12.23k stars 623 forks source link

Can't choose base server route #637

Open Omig12 opened 2 years ago

Omig12 commented 2 years ago

I'm trying to build a site with the main landing page being an existing static index.html. I can´t find how to point to this route as the base route for the server in the Documentation. My goal is to avoid rewriting the existing static content and just build other interactive content alongside it. Any suggestions or examples are welcomed. Thanks! :)

alexbezhan commented 2 years ago

I have similar task. No need to use rendering for a static index.html

Omig12 commented 2 years ago

When I start the server, even if there is an index.html in the static folder, localhost:8080/ returns nothing unless I search for localhost:8080/index.html. I might be misunderstanding the documentation, but I think it suggests that the existence of a static file takes priority over any equivalently named route, and I assumed that would be the case for the / route.

lucacasonato commented 2 years ago

Interesting! I'll think about how to best approach this.

rottenpen commented 2 years ago

Interesting! I'll think about how to best approach this.

@lucacasonato I write a simple pr for this issue. user can add the static html to ./staticRoute dir

https://github.com/denoland/fresh/pull/655

can you be my mentor for this feature?

Omig12 commented 1 year ago

In case anyone is wondering how to solve this, you can potentially set up a redirect like this:

// routes/index.tsx

export default function Landing() {
    return (
        <main>
            <meta http-equiv="refresh" content="0; URL=./index.html" />
        </main>
    );
}
marvinhagemeister commented 1 year ago

From what I understand the expectation here is that fresh automatically searches for index.html files if present and serves these instead of going through the routing mechanisms. Kinda similar to how nginx or apache2 serve index.html files.