我想使用sass编写单独的组件,例如样式化图表。但是我不想手动包含每个组件,而是有一个包含所有组件的scss文件,然后被编译成一个我可以包含的.css
文件。我找到了这个SO答案,但它不适合我,根据SASS,你不应该再使用@import
了。这是项目结构:
src/
├─ about/
│ ├─ .../
│ ├─ scss/
│ │ ├─ chart.scss/
├─ app/
│ ├─ scss/
├─ build/
│ ├─ css/
| | ├─ styles.css
├─ base/
│ ├─ styles.scss
styles.scss
应该包括src中所有项目的所有scss文件,并且应该在每个。scss保存上进行编译。当我使用这个命令时:
sass base/styles.scss:build/css/main.css --watch --style=compressed --no-source-map
给出错误:
Error: Can't find stylesheet to import.
╷
1 │ @use "//about/scss/chart.scss";
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
╵
base_templatesstyles.scss 1:1 root stylesheet
styles.scss
的内容是
@use "//about/scss/chart.scss";
和chart.scss
:
h1 {
color: #fff;
}
(作为测试)。我做错了什么?
路径应为"/src/about/scss/chart.scss"对于Sass,如果src是卷分区的源。Sass永远不会"知道"你的域或网络的任何信息,因此你不能假设你可以使用基于webroot的路径作为绝对路径。
你也可以考虑使用相对路径,那么它就是'../about/scss/chart.scss'。