【发布时间】:2017-03-18 11:37:44
【问题描述】:
我正在尝试为我的第一个 React webapp 设置 react-router,它似乎可以正常工作,只是刷新页面时我的嵌套页面没有加载 css。
但是它只适用于一个级别,例如/dashboard,但 /components/timer 的 css 不会加载
这是我的index.jsx 文件的样子
import './assets/plugins/morris/morris.css';
import './assets/css/bootstrap.min.css';
import './assets/css/core.css';
import './assets/css/components.css';
import './assets/css/icons.css';
import './assets/css/pages.css';
import './assets/css/menu.css';
import './assets/css/responsive.css';
render(
<Router history={browserHistory}>
<Route path="/" component={Dashboard}/>
<Route path="/components/:name" component={WidgetComponent}/>
<Route path="*" component={Dashboard}/>
</Router>,
document.getElementById('root')
);
知道为什么吗?
【问题讨论】:
-
当您重新加载时,这些 .css 文件是否会出现 404 错误?您的 Web 服务器是否将所有
/和/components/:name指向您加载 react 和所有相关文件的 index.js? -
@JorgeObregon 得到 404,它尝试将 css 和脚本加载为
http://localhost:3000/components/assets/js/jquery.slimscroll.js而不是http://localhost:3000/assets/js/jquery.slimscroll.js -
@JorgeObregon 如何将我的网络服务器指向
/components/:name? -
这取决于您使用的网络服务器。 Apache 使用 .htaccess 文件来获得漂亮的链接,而 ExpressJS 使用 RegExp 来匹配您的路线
-
@AdetiloyePhilipKehinde 你是怎么解决这个问题的?
标签: css reactjs react-router