在react公用文件夹中,我有style.css
和index.html
。内部style.css我已经写了
*{
font-family: 'Roboto', sans-serif
}
这意味着Roboto
字体应用于所有组件。我已经在index.html
中从谷歌导入了Roboto
字体链接
现在在App.js
,我有以下路线
<Router>
<Switch>
<Route exact path="/" component={Home} />
<Route path="/login" component={Login} />
<Route path="/register" component={Register} />
<Route path="/profile" component={Profile} />
</Switch>
</Router>
现在,对于任何组件,当我将路径名指定为正斜杠/
和路径名(如/profile
(时,它都可以完美地工作,组件会被渲染,Roboto
字体也可以工作,但是,如果我将路径名称指定为正斜线/
和路径名,如/profile
,然后,如果我添加用户id或用户名参数(如/profile/:username
(,则Roboto
字体不会受到影响,它显示默认字体,但如果我再次从/profile/:username
中删除:username
参数并使其为/profile
,则Roboto
字体将再次工作。那么这里的问题是什么呢。为什么在添加/
和该路由中的任何路径名或参数后,字体在该组件中不起作用。
首先,将css文件移动到/src
目录(例如/src/css/styles.css(中,然后在路由器内部所有内容都被包裹的文件中,通过以下方式导入css文件:
import "./css/styles.css"
(假设js文件是位于/src
目录中的目录,没有任何嵌套(