# react-router v4 刷新出現找不到頁面(NO FOUND)解決方案

react-router v4 刷新頁面出現找不到問題解決方案

緣由

### 瀏覽器被刷新至關於從新請求了服務端的 page 接口,當後端沒有這個接口時,就沒有document文檔返回,這時url 並無被js 觀察處理

clipboard.png

clipboard.png

解決

  • 若是是使用webpack-dev-server,請將 historyApiFallback: true 這個配置加入至 devServer 中. 以及在output 中配置 publicPath: '/'
  • 若是是使用自定義的node服務器的話,需本身手寫一個404接口. 將全部的url 都返回到index.html文檔

實例

  • koahtml

    const koaWebpack = require('koa-webpack');

async startService() {node

const middleware = await koaWebpack({ config: this.webpackConfig });

this.app.use(middleware);

app.use(async ctx => {
  const filename = path.resolve(this.webpackConfig.output.path, 'index.html');
  ctx.response.type = 'html';
  ctx.response.body = middleware.devMiddleware.fileSystem.createReadStream(
    filename
  );
});

this.app.listen(this.port, () => {
  console.log(`當前服務器已啓動`, `http://${this.host}:${this.port}`);
});

}react

[參考地址][1]
相關文章
相關標籤/搜索