我们最近从 Angular 9 升级到 16,我不断收到有关未找到样式表的警告。生成警告的内容包含在index.html中:
<head>
<!-- snip -->
<base href="/">
<link rel="stylesheet" type="text/css" href="./assets/css/googleFont.css">
<link rel="stylesheet" type="text/css" href="./assets/css/blueprint-ui.css">
<link rel="stylesheet" type="text/css" href="./assets/fonts/css/font-awesome.min.css">
<link rel="stylesheet" type="text/css" href="./assets/fonts/css/fm-icon-font.css" />
</head>
当我运行
ng serve
时,这会显示在节点控制台中:
Warning: Unable to locate stylesheet: C:\Developers\g3h-cucor-ui\assets\css\googleFont.css
Warning: Unable to locate stylesheet: C:\Developers\g3h-cucor-ui\assets\css\blueprint-ui.css
Warning: Unable to locate stylesheet: C:\Developers\g3h-cucor-ui\assets\fonts\css\font-awesome.min.css
Warning: Unable to locate stylesheet: C:\Developers\g3h-cucor-ui\assets\fonts\css\fm-icon-font.css
浏览器控制台中出现类似警告:
polyfills.js:12 [webpack-dev-server] WARNING
Unable to locate stylesheet: C:\Developers\g3h-cucor-ui\assets\css\googleFont.css
polyfills.js:12 [webpack-dev-server] WARNING
Unable to locate stylesheet: C:\Developers\g3h-cucor-ui\assets\css\blueprint-ui.css
polyfills.js:12 [webpack-dev-server] WARNING
Unable to locate stylesheet: C:\Developers\g3h-cucor-ui\assets\fonts\css\font-awesome.min.css
polyfills.js:12 [webpack-dev-server] WARNING
Unable to locate stylesheet: C:\Developers\g3h-cucor-ui\assets\fonts\css\fm-icon-font.css
有趣的是,这些路径都是错误的。正确的路径是
C:\Developers\g3h-cucor-ui\src\assets\css\filename.css
。请注意额外的src
。
这些样式似乎在页面上有效,所以这比其他任何事情都更令人烦恼。我尝试更改链接以包含
src
部分:
<link rel="stylesheet" type="text/css" href="./src/assets/css/blueprint-ui.css">
这不起作用。样式不再显示,事实上警告已更改为
Unable to locate stylesheet: C:\Developers\g3h-cucor-ui\src\assets\css\blueprint-ui.css
。这非常奇怪,因为这是文件的合法路径。有人能解释一下吗?