Sass 导入解析 
Sass 导入解析 解决 Sass 进口的路径和内容, 如下 页:1 Sass 导入解析规格。 。 。 .
npm install @csstools/sass-import-resolve
解决方法
这个 resolve 方法取出任何路径并返回其绝对路径, 如
决议 Sass 导入解析规格。 。 。 .
import resolve from '@csstools/sass-import-resolve';
const { file } = resolve('path/to/sass-file');
这个 resolve 方法也可以返回已解决文件的内容.
const { file, contents } = resolve('path/to/sass-file', {
readFile: true
});
这个 resolve 方法也可以从特定目录中解析路径.
const { file } = resolve('sass-file', {
cwd: 'path/to'
});
这个 resolve 方法也可以共享其已解析的缓存.
const sharedCache = {};
const { file } = resolve('path/to/sass-file', {
cache: sharedCache
});
/* sharedCache {
"/absolute/path/to/sass-file": Promise {
file,
contents (when `readFile` is true)
}
} */
决心算法
何时 @import 用于解决
文件在 url(id) 从 cwd数字 :
- 若为
id以/cwd是文件系统根
file实值cwd/idbase是基础路径filedir是目录路径file- 若为
base结尾.sass, (中文(简体) ),.scss,或.css- 测试是否
file已存在 - 若为
base不从_- 测试是否
dir/_base已存在
- 测试是否
- 测试是否
- 否则
- 测试是否
dir/base.scss已存在 - 测试是否
dir/base.sass已存在 - 测试是否
dir/base.css已存在 - 若为
base不从_- 测试是否
dir/_base.scss已存在 - 测试是否
dir/_base.sass已存在 - 测试是否
dir/_base.css已存在
- 测试是否
- 测试是否
- 如果现有文件的长度是
1- 返回现有文件
- 否则,如果现有文件的长度大于
1- 掷出
"It's not clear which file to import"
- 掷出
- 否则,如果
base不结束于.css- 掷出
"File to import not found or unreadable"
- 掷出
见 Sass 导入解析规格 更多细节.