@csstools/sass-import-resolve

中文文档
1.0.0发布于 2017/12/07CC0-1.0ESM + CJS零依赖近 30 天下载 76万

在 Sass 中解析导入的算法

中文使用文档

Sass 导入解析 Sass Logo

NPM Version Linux Build Status Windows Build Status Gitter Chat

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数字 :

  1. 若为 id 以 /
    1. cwd 是文件系统根
  2. file 实值 cwd/id
  3. base 是基础路径 file
  4. dir 是目录路径 file
  5. 若为 base 结尾 .sass, (中文(简体) ), .scss,或 .css
    1. 测试是否 file 已存在
    2. 若为 base 不从 _
      1. 测试是否 dir/_base 已存在
  6. 否则
    1. 测试是否 dir/base.scss 已存在
    2. 测试是否 dir/base.sass 已存在
    3. 测试是否 dir/base.css 已存在
    4. 若为 base 不从 _
      1. 测试是否 dir/_base.scss 已存在
      2. 测试是否 dir/_base.sass 已存在
      3. 测试是否 dir/_base.css 已存在
  7. 如果现有文件的长度是 1
    1. 返回现有文件
  8. 否则,如果现有文件的长度大于 1
    1. 掷出 "It's not clear which file to import"
  9. 否则,如果 base 不结束于 .css
    1. 掷出 "File to import not found or unreadable"

见 Sass 导入解析规格 更多细节.

版本与发布记录

@csstools/sass-import-resolve 共发布 2 个版本,首次发布于 2017/12/07;过去 12 个月发布了 0 个版本。

版本发布日期距今
1.0.0latest2017/12/078 年前
0.0.02017/12/078 年前

关于 @csstools/sass-import-resolve 的常见问题

@csstools/sass-import-resolve 是什么?

在 Sass 中解析导入的算法

如何安装 @csstools/sass-import-resolve?

在项目目录运行 npm install @csstools/sass-import-resolve,或使用 pnpm add / yarn add / bun add。

@csstools/sass-import-resolve 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/csstools__sass-import-resolve 是否存在。

@csstools/sass-import-resolve 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@csstools/sass-import-resolve 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=4.0.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@csstools/sass-import-resolve 可以商用吗?

@csstools/sass-import-resolve 使用 CC0-1.0 许可。作者放弃著作权,可不受限制地使用。以上为概括,不构成法律意见,请以许可原文为准。

@csstools/sass-import-resolve 的下载量有多少?

根据 npm 官方下载统计,@csstools/sass-import-resolve 在 2026/10/11 – 2026/11/09 这 30 天内被下载 760,191 次,日均约 25,340 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@csstools/sass-import-resolve 还在维护吗?

最新版本 1.0.0 发布于 2017/12/07(8 年前);至今共发布 2 个版本,其中过去 12 个月发布了 0 个;首次发布于 2017/12/07。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。