【发布时间】:2018-01-27 05:01:25
【问题描述】:
有一些关于 SO 的主题,例如建议更改 Webpack 的 this one 和建议设置包罗万象的 this one。
我在三个路由中使用react-router-dom;与此处的其他问题类似,/ 路径有效,但 /cars 或 /about 均无效。
import React, {Component} from 'react';
import {render} from 'react-dom';
import {BrowserRouter, Route, Switch, Link} from 'react-router-dom';
const Home = () => (
<h1>Home</h1>
)
const Car = () => (
<h1>Cars</h1>
)
const About = () => (
<h1>About</h1>
)
render(
<BrowserRouter>
<Switch>
<Route exact path="/" component={Home}/>
<Route exact path="/cars" component={Car}/>
<Route path="/about" component={About}/>
</Switch>
</BrowserRouter>,
document.getElementById('container')
);
我尝试在我的 webpack 配置中添加 publicPath 和 historyApiFallback:
module.exports = {
entry: ['./src/index.jsx'],
output: {
path: path.resolve('public'),
filename: 'bundle.js',
publicPath: '/'
},
module: {
loaders: [
{test: /\.js$/,loader: 'babel-loader',exclude: /node_modules/},
{test: /\.jsx$/,loader: 'babel-loader',exclude: /node_modules/}
]
},
devServer: {
historyApiFallback: true
}
}
但当我导航到http://localhost:8080/cars 时,我会在浏览器上收到Cannot GET /cars 消息,并出现类似以下的错误:
Refused to load the font 'data:font/woff;base64,d09GRgABAAAAAGz8ABEAAAAA09gAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABgAAAAC8AAAA0AsQC9UdQT1MAAAGwAAATuAAANLwBEyF1R1NVQgAAFWgAAAIWAAAEZqfk0PVPUy8yAAAXgAAAAFAAAABgaNCCw2NtYXAAABfQAAABkwAAAkQk8AV7Y3Z0IAAAGWQAAABiAAAAugGiQq9mcGdtAAAZyAAABZcAAAvNb3/BHGdhc3AAAB9gAAAACAAAAAgAAAAQZ2x5ZgAAH2gAAESvAAB8yu28l3FoZWFkAABkGAAAADYAAAA2BmibVWhoZWEAAGRQAAAAIAAAACQHMQRzaG10eAAAZHAAAAJDAAAEImBmMbxsb2NhAABmtAAAAhoAAAIaflxdR21heHAAAGjQAAAAIAAAACACjgzgbmFtZQAAaPAAAACdAAABKBQEL8lwb3N0AABpkAAAAsMAAAS9pi3QFXByZ...w76a3jVVUpJzXkBsRtNQoHWTV2mt2UusrulbnIrkvAXNBDFtTVIB8Uoau4pSruq4q7qq2dHpQADUAT0IJ5ra0yPUAfMACMFY6pOtegV/9D7UtTZx72tTeXI4JdcUXh7Pb67D7I/S05AwjAAiYsNie6WOwc4MiYCORSEx+ZExuCvQpiNSRmAdL8wDs2AslUOgp8HfnSYyfCYjrE7w8QDucyS0aXjH0zGk7FX991RgON6L7Qma6pQ+SzA0Qw1x9+HgNFtrBk+F9RsmDpTShvNJL4BDWtP8IAeAFj8N7BcCIoYiMjY1/kBsadHAwcDMkFGxnYnLZFMFgwMLAyaIE4DjzeHPYs+mzKLOIsrBxQoVA2VyZzFk0mWSawELfTPmEGAQYeBk4GNpBGTqCYgNM+BgcYhIgxM7hsVGHsCIzY4NARsZE5xWWjGoi3i6OBgZHFoSM5JAKkJBIIHHh8ORxZDNlUWSRZWHm0djD+b93A0ruRicFlA1vcRtYUFwBQJimV' because it violates the following Content Security Policy directive: "default-src 'self'". Note that 'font-src' was not explicitly set, so 'default-src' is used as a fallback.
【问题讨论】:
-
我试过你的代码here,这对我有用。我知道这可能是您的 webpack 的问题,但只是指出代码本身没有问题。
-
谢谢@Rowland - 我刚刚想通了,所以会尽快发布答案:)
标签: javascript reactjs react-router react-router-v4 react-router-dom