0

我无法通过在地址栏中键入它们来手动导航到我的 react-router-dom 路由(例如:localhost:8080/notfound)。但是,我可以通过实例化的 RRD 链接到达所需的位置。

相反,我收到“内容安全策略:页面的设置阻止了内联资源的加载(“default-src”)。”

我正在使用从头开始配置构建的功能正常的 React 应用程序。也就是说,我没有使用 create-react-app 及其样板配置。是我的个人样板..

我目前的理解是:我需要正确实施 CSP。这是我包含在元标记中的一些参数...

http-equiv="内容安全策略"

content="script-src 'self' 'unsafe-inline' 'unsafe-eval'"

还有其他与此主题相关的问题。但是,它们要么解决加载外部站点的问题,要么主动阻止脚本的加载(这似乎与我的担忧相反)。

一个类似的问题提供了一个答案,它使用 react-helmet 来利用 rel='canonical' 和 href 指向索引的链接。这可能是解决方案,但我还没有证明这一点。

非常感谢。

4

1 回答 1

1

在 webpack.config.js 中,module.exports:

添加devServer: {historyApiFallback: true}

并添加publicPath: '/'到输出对象。

对于客户端渲染,必须建立返回索引或根的路径。这允许 JavaScript 重新加载,从而为后续导航启用路由。

这篇文章解释得很透彻。

于 2021-08-30T01:25:01.703 回答