React路由器参数化路由:SyntaxError:期望表达式,得到'<'

use*_*270 5 javascript node.js express react-router

我有一个使用参数化路由的React-router设置:

<Route path="/comments" comments={comments.commentsArray} component={NewReactElement} />
    <Route path="/comments/:id" component={Comment} />
Run Code Online (Sandbox Code Playgroud)

错误: SyntaxError: expected expression, got '<'

我已经研究过这个错误,并且发现它在服务器试图获取.js/.css/other文件时发生了,但是<!DOCTYPE>从而开始返回HTML ,所以我设置了express.static,但是当输入URL时comments/1250,它仍然回归:SyntaxError: expected expression, got '<'.这是我的服务器设置:

app.use(express.static(__dirname + '/views/webpacked'));
app.listen(5000);

app.get('*', (req, res) => {

    res.sendFile(path.resolve(__dirname, 'views', 'webpacked', 'index.html'));

 });
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

app.use('/*/*', express.static(...));
Run Code Online (Sandbox Code Playgroud)

但它也没有用.

提前感谢您的建议.

Her*_* Qu 10

我有一个反应/反应路由器页面没有任何表达并得到相同的错误: SyntaxError: expected expression, got '<'一旦我配置了反应路由,然后只是root,它就开始出现/.

经过一些实验,我发现在我的index.html中有一个指向js文件的链接:

  <script src="bundle.js"></script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

所以,解决方案是添加/源路径:

  <script src="/bundle.js"></script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

而错误已经消失.

希望可以帮助一点.