我读过documentation,上面说如果我想使用scss,我必须运行以下命令:

ng set defaults.styleExt scss

但当我这样做并创建该文件时,仍然在我的控制台中收到此错误:

styles.bundle.js:33Uncaught Error: Module build failed: Error: ENOENT:
no such file or directory, open
'/Users/Egen/Code/angular/src/styles.css'(…)

推荐答案

For Angular 6判断Official documentation

Note:对于早于6.0.0-beta.6@angular/cli版本,请使用ng set代替ng config.

对于现有项目

在使用默认css种样式设置的现有angular cli项目中,您需要做几件事:

  1. 将默认样式扩展名更改为scss

手动更改.angular-cli.json(Angular 5.x及更早版本)或angular.json(Angular 6+)或运行:

ng config defaults.styleExt=scss

如果收到错误:Value cannot be found.,请使用以下命令:

ng config schematics.@schematics/angular:component.styleext scss

(*来源:Angular CLI SASS options)

  1. 将现有的.css个文件重命名为.scss(即style es.css和app/app.Component.css)

  2. 指向CLI以查找style es.scss

手动更改angular.jsonapps[0].styles中的文件扩展名

  1. 指向组件以查找新样式文件

更改组件中的styleUrls以匹配新文件名

对于future 的项目

正如@Serginho提到的,在运行ng new命令时,可以设置样式扩展

ng new your-project-name --style=scss

如果要为将来创建的所有项目设置默认值,请运行以下命令:

ng config --global defaults.styleExt=scss

Css相关问答推荐

将CSS栅格行高设置为其余视口高度

React Tabs 在 Tabs 之间垂直渲染标签内容

没有字母间距的CSS悬停边框

在变量中存储匹配 Select 器的子元素的计数

我怎样才能准确地获得虚构文本内容宽度的边距?

如何更改导航栏标题中链接的文本 colored颜色 和导航丸中的链接(在shiny 的应用程序中)?

CSS中元素的重叠

老虎机插槽上的 CSS 对齐问题

有没有办法让 mui v5 呈现没有 css-xxx 前缀的类名?

我怎样才能让这个边框出现在按钮元素的上方?

将 CSS 注入 Shadow 根.然而风格正在受到影响

表格的边框半径没有按预期工作

flexbox 布局中的 Padding-bottom/top

CSS:将背景图像拉伸到屏幕的 100% 宽度和高度?

溢出的文本可以居中吗?

范围内的 CSS 未在组件中应用

弹性框中的边距折叠

通过 Bootstrap4 对列进行排序

CSS属性中的auto值是什么意思.

仅当存在 2 个类时,您可以使用 CSS 定位元素吗?