【发布时间】:2016-04-02 20:29:03
【问题描述】:
我正在使用 React、React-Router 和 Webpack(使用 webpack-dev-server),但在嵌套路由上加载自定义字体时遇到问题。
在/user、/group 等浅层路由上一切正常,但是当我有像/group/user 这样的嵌套路由时,自定义字体不会加载(404 错误)。
Webpack 构建按预期将所有字体放在根级别(文件名如7f690e503a254e0b8349aec0177e07aa.ttf),当显示类似/user 的路由时,字体会正确加载。
但是,当在像 /group/user 这样的嵌套路由中时,浏览器会尝试从像 /group/7f690e503a254e0b8349aec0177e07aa.ttf 这样的 URL 加载字体,但该 URL 并不存在。
我认为某处字体被假定为相对路径,但我不知道在哪里。
如何使字体路径成为绝对路径而不是相对路径?还是有其他方法可以解决这个问题?
不确定是否重要,但我在styles.less 文件中定义了如下所示的字体:
// Main font(s)
@font-face {
font-family: 'Lato-Regular';
src: url('../fonts/Lato-Regular.ttf') format('truetype');
}
【问题讨论】:
标签: fonts reactjs webpack react-router nested-routes