默认情况下的 preact-router 无法按预期工作

preact-router with default case not working as intended

我是 preact 的新手,我正在尝试使用 Preact-X 开发一个项目。

我希望我的项目 运行 默认 URL 只有一个组件。

例如:loaclhost:8080localhost:8080/jobslocalhost:8080/?some-parameters

我有如下组件:

import { h } from 'preact'
import { Provider } from 'react-redux'
import { Router } from 'preact-router'
import Jobs from './jobs/index'

function App({ store }) {
    function handleRoute(e) {
        console.log(e.url)
    }

    return (
        <Provider store={store}>
            <Router onChange={handleRoute}>
                <Jobs default />
            </Router>
        </Provider>
    )
}

export default App

我不确定为什么它只适用于 localhost:8080 而不是其他路线。

你可以找到整个 repo here

如有任何帮助,我们将不胜感激。

您需要将 Webpack 的 devServer.historyApiFallback 选项设置为 true。

在您的 line 64 配置上:

devServer: {
  historyApiFallback: true,
  // etc