我正在尝试使用Angular构建一个静态站点 . 我想要的是将一些全局的css / js /图像文件添加到 index.html
这是我在 index.html
的代码
<link rel="stylesheet" type="text/css" href="css/layers.css">
我的 css
文件夹与 index.html
文件位于同一级别
我为我添加的每个样式表收到此错误(来自ng服务与chrome)
拒绝从'http:// localhost:4200 / css / layers.css'应用样式,因为其MIME类型('text / html')不是受支持的样式表MIME类型,并且启用了严格的MIME检查 .
我也试过添加它
#.angular-cli.json
"styles": [
"styles.css",
"css/layers.css"
],
我怎样才能解决这个问题?
我的角度设置是
Angular CLI: 1.6.5
Node: 8.1.4
OS: darwin x64
Angular: 5.2.2
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router
@angular/cli: 1.6.5
@angular-devkit/build-optimizer: 0.0.42
@angular-devkit/core: 0.0.29
@angular-devkit/schematics: 0.0.52
@ngtools/json-schema: 1.1.0
@ngtools/webpack: 1.9.5
@schematics/angular: 0.1.17
typescript: 2.5.3
webpack: 3.10.0
4 回答
@ sameera207评论中的答案是正确的,相对路径必须有效,我也有同样的问题,评论的答案对我有用 . 我试图重现你的错误,我在index.html的级别创建了css文件夹并添加了css文件,然后在样式数组中添加了路径 .
然后 restarted server ,我的意思是再次执行
ng serve
并且正在工作 . 确保你已经完成并且 restared server 如果问题仍然存在请告诉我,我很乐意帮助你 . 谢谢 .解决方案1(安装了Bootstrap)
你需要做的就是:
1)转到角度应用程序根目录下的.angular-cli.json .
2)修改styles数组以包含在styles.css之前的bootstrap
注意:bootstrap的路径是相对于/src/index.html的,这就是在node_modules之前需要“../”的原因 .
3)退出ng服务的当前会话并再次启动它 .
这是Awesome tutoral
解决方案2(引用Bootstrap)
你需要的只是:
1)转到角度应用程序根目录下的styles.css .
2)在顶部添加此行:
这是Angular docs
如果你已经添加了angularcli.json,则无需在index.html中添加cli将自动注入内容 . 所以从index.html删除该行,所有都应该工作 .
对于将面临同样问题的人 .
此错误消息的常见原因是,当浏览器尝试加载该资源时,服务器会返回HTML页面,例如,如果您的路由器捕获未知路径并显示没有
404 error.
的默认页面,当然这意味着该路径不会返回预期CSS file / image / icon /
无论如何...... ref from here让我们假设我们有
Angular 6
项目具有这样的文件结构假设我们需要将
theming
文件夹(包含thems)直接放在src文件夹中 .如果我们试图访问这样的主题文件 .
这会引发错误
如果我们在浏览器中通过该URL,则不会提供普通的css文件,因为路径错误 .
Solution
所以你需要做的是找到正确的路径 . (我们可以通过浏览过去查看
url
,看看会返回什么)在使用
../src/
引用的情况下,引用将修复错误Note: 确切的路径和路由器配置取决于您如何设置项目和正在使用的框架 .