Giter Site home page Giter Site logo

Comments (15)

patrickheeney avatar patrickheeney commented on May 1, 2024 39

I ended up figuring this out: https://github.com/davezuko/react-redux-starter-kit/pull/202/files

Webpack Dev Server uses connect-history-api-fallback as a dependency. So after installing that and running it before the middleware, it handled things as expected.

from webpack-dev-middleware.

timsuchanek avatar timsuchanek commented on May 1, 2024 1

@patrickheeney Maybe this example can help

from webpack-dev-middleware.

patrickheeney avatar patrickheeney commented on May 1, 2024

If I am reading this right, it looks like you need to essentially index the filesystem to populate it with data before being able to read from it? We don't appear able to do this. How was this aspect designed to work?

from webpack-dev-middleware.

jonathaningram avatar jonathaningram commented on May 1, 2024

@timsuchanek unfortunately that example doesn't use html-webpack-plugin so index.html is actually just a plainly served file. The desired behaviour is that if index.html has the o.htmlWebpackPlugin... variables that it gets passed through html-webpack-plugin before being served.

from webpack-dev-middleware.

GreenGremlin avatar GreenGremlin commented on May 1, 2024

I got this to work by rewriting all html requests to '/index.html', before the webpack middleware runs.

I'm using koa, but the solution should be similar for express.

const CONTENT_TYPE_HTML = 'text/html';

app.use(function* rewriteIndex(next) {
  if (this.accepts().toString().substr(0, CONTENT_TYPE_HTML.length) === CONTENT_TYPE_HTML) {
    this.request.url = '/index.html';
  }
  yield *next;
});

app.use(webpackDevMiddleware(compiler, {
...
  • Watch out; accepts('html') will evaluate as true for content-type = */*, which will cause your js and css files to redirect as well.

from webpack-dev-middleware.

GreenGremlin avatar GreenGremlin commented on May 1, 2024

Nice! It looks like that mw does basically the same thing, but with a few safety checks. Thanks!

from webpack-dev-middleware.

vesan avatar vesan commented on May 1, 2024

@patrickheeney Cheers! This was the exact cure for my problems.

from webpack-dev-middleware.

Elyx0 avatar Elyx0 commented on May 1, 2024

@patrickheeney Thanks for the link to your pull, it saved the day !

from webpack-dev-middleware.

GreenGremlin avatar GreenGremlin commented on May 1, 2024

I wrote a more flexible alternative for koa, check it out. https://github.com/greengremlin/koa-mount-html

from webpack-dev-middleware.

halversondm avatar halversondm commented on May 1, 2024

This was very helpful, thank you.

from webpack-dev-middleware.

fourcolors avatar fourcolors commented on May 1, 2024

super helpful thank you

from webpack-dev-middleware.

gordonk avatar gordonk commented on May 1, 2024

Thanks, saved me a headache

from webpack-dev-middleware.

jiuxiaosheng avatar jiuxiaosheng commented on May 1, 2024

Thanks, this saved my day

from webpack-dev-middleware.

konekoya avatar konekoya commented on May 1, 2024

@patrickheeney Thank you! You just made my day.

from webpack-dev-middleware.

benz2012 avatar benz2012 commented on May 1, 2024

Almost 2 years since @patrickheeney posted his solution, so I wasn't sure that I was having the exact same issue, but after including the connect-history-api-fallback as described in his PR, before the middleware, I am incredibly grateful that I found this issue thread.

from webpack-dev-middleware.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.