【发布时间】:2017-11-26 08:01:31
【问题描述】:
我正在使用Angular4 和sass 开始我的第一个项目,我正在尝试弄清楚如何以正确的方式使用sass。我正在使用angular-cli,并且已经将默认样式设置为使用scss 语法。我也已经定义了编译等。
但是我看到我们在组件上有一个选项 styleUrls,在某些情况下我们定义了仅在该组件中使用的样式。
问题是,当我在该component 中设置scss 文件时,它不会生成它自己的.css 文件,也不会包含在从根项目生成的主.css 文件中。
所以基本上我有一个这样的项目结构:
app
app.module.ts
app.routing.ts
home
home.component.ts
home.html
_home.scss
client
client.component.ts
client.html
_client.scss
scss
_imports.scss
colors
_colors.scss
ui
_button.scss
_table.scss
//.. more folder and files
styles.scss
index.html
我希望能够在 styles.scss 文件中设置主要的 css 样式,稍后将在构建过程中将其插入到 index.html 文件中。但也能够为我拥有的每个组件生成一个 css 文件,例如home 和 client,并且只在它们自己的 component 中使用这些 css 样式。
有可能吗?我已经尝试过,但没有找到任何其他资源!
【问题讨论】:
-
据我了解,封装的 css 被捆绑在 main.bundle.js 中,然后当应用程序加载时,它将样式附加到 head 标签(在与主要样式不同的样式标签中) .您的样式根本没有加载吗?
-
@LLai 是的,它们是,但只是主要样式文件
style.css。但例如,文件 home.scss 和 client.scss 永远不会编译成 .css,因此永远不会被注入。 -
奇怪,你能重新安装你的节点模块吗?也许其中一个装载机搞砸了
-
在这里,您知道事情通常是如何运作的,并且您正在做同样的事情。但由于某种原因,它们工作正常。您将
styles.scss添加到.angular-cli中,但仍在最终构建中,它没有反映在您的页面中?
标签: css angular sass angular-cli