我知道最好在不使用前导下划线的情况下导入SASS/SCSS部分; 例如
__CODE__
我对书呆子完整性的问题是,如果文件是使用下划线导入的,是否存在问题?
__CODE__
cim*_*non 20
不.如果您的文件是_foo.scss,只要您没有任何不明确的文件名(除非可能存在任何副作用),所有这些导入都会有相同的结果:
@import "foo";
@import "foo.scss";
@import "_foo";
@import "_foo.scss";
Run Code Online (Sandbox Code Playgroud)
只有在同一搜索路径中同时包含_foo.scss和_foo.sass时,才需要进行扩展.如果您没有指定哪一个,您将收到以下错误:
error sass/test.scss (Line 7: It's not clear which file to import for '@import "test/bar"'.
Candidates:
test/_bar.sass
test/_bar.scss
Please delete or rename all but one of these files.
)
Run Code Online (Sandbox Code Playgroud)
如果你同时拥有foo.scss和_foo.scss,那么foo.scss将优先.如果你想要_foo.scss,你需要在import语句中添加下划线.
@import "test/_foo";
Run Code Online (Sandbox Code Playgroud)
无论你的import语句是什么样的,每次你保存时,Sass都会给你一个警告:
WARNING: In /path/to/test:
There are multiple files that match the name "bar.scss":
_bar.scss
bar.scss
Run Code Online (Sandbox Code Playgroud)