React Router - 未捕获的 SyntaxError: Unexpected token < 使用参数刷新 URL 时

IT技术 javascript reactjs typescript react-router react-router-v4
2021-04-29 10:18:57

我正在使用react 16and react router 4, webpackand webpack dev server

我确实有以下几点Route

<Route path="/company/:symbol" render={this.getCompanyPageRoute} />

我确实通过以下方式导航到这条路线:

this.props.history.push('/company/blablabla');

一切正常。但是,如果我使用此 URL 刷新页面,则会出现以下错误:

未捕获的语法错误:意外的标记 <

我已经看到有几篇关于这个错误的帖子,但我并没有按照这些链接来解决这个问题。

3个回答

如果可以帮助其他人,请发布答案。

将 webpack 配置的输出属性更改为以下内容修复了问题:

output: {
        path: BUILD_DIR,
        publicPath: '/',
        filename: 'bundle.js',
    }

这个技巧是由: publicPath: '/'

我只是有同样的问题。

就我而言,我必须添加publicPath: '/'您在回答中提到的内容,并/在我的 script-src 中添加一个开头

output: {
    path: path.join(__dirname, "/public/dist"),
    publicPath: '/',
    filename: "[name].js",
}

之前:(<script src="dist/main.js"></script>缺少开头/

后: <script src="/dist/main.js"></script>

试试这个

您只需要添加<base href="/" /><head>您的index.html. 这解决了我的问题。它也可以帮助你。

https://github.com/vuejs-templates/pwa/issues/165#issuecomment-419709072