# @douyinfe/semi-scss-compile 中文文档

规范地址：https://npmcn.com/package/%40douyinfe/semi-scss-compile/

版本：2\.105\.0
npm 元数据更新时间：2026-11-12T09:40:09.836Z
中文译文更新时间：2026-11-13T01:59:18.858Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40douyinfe/semi-scss-compile
原文对照：https://npmcn.com/package/%40douyinfe/semi-scss-compile/?lang=original

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：39.5 kB，23 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：5 个
- 首次发布：2021-10-25T14:55:32.186Z
- 最新版本发布：2026-11-12T09:40:09.604Z
- 近 30 天下载量：2469（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：591（近 12 个月 67 个）

## 中文简介

将半 scs 编译为 css

## 安装

```sh
npm install @douyinfe/semi-scss-compile
```

也可以使用：`pnpm add @douyinfe/semi-scss-compile`、`yarn add @douyinfe/semi-scss-compile`、`bun add @douyinfe/semi-scss-compile`

## README

> Scss 半设计编译工具

## 说明

主要有以下两种使用方案:

-   用于半设计系统中的Sever侧消费. 发布主题时,请将节点一侧的脚本调用到 将自定义主题包编译为完整的 半. css 文件
-   发布前 `@douyinfe/semi-foundation`,构建完整的半个css文件

## 使用量

### 命令行

```shell
npm i -g @douyinfe/semi-scss-compile

semi-build-scss --foundation="path/to/foundation" --theme="path/to/theme" --icon="path/to/'@douyinfe/semi-icons'" --output="path/to/output.css" --min

# or for short

semi-build-scss -f "path/to/foundation" -t "path/to/theme" -i "path/to/'@douyinfe/semi-icons'" -o "path/to/output.css" -m

```

### JS API( API)

```js

const { compile } = require('@douyinfe/semi-scss-compile');
const path = require('path');

function resolve(dir) {
    return path.join(__dirname, '../..', dir);
}

//eg

compile({
    foundationPath: resolve('semi-foundation/'),
    themePath: resolve('semi-theme-default/'),
    iconPath: resolve('node_modules/@douyinfe/semi-icons'),
    outputPath: resolve('semi-ui/dist/css/semi.min.css'),
    isMin: true
});

compile({
    foundationPath: resolve('semi-foundation/'),
    themePath: resolve('semi-theme-default/'),
    iconPath: resolve('node_modules/@douyinfe/semi-icons'),
    outputPath: resolve('semi-ui/dist/css/semi.css'),
    isMin: false
});
```

### 高级 API

```js
const { generateScssMap, writeFile, compilerFromScssMap } = require('@douyinfe/semi-scss-compile');
const fs = require('fs-extra');

const isMin = false;
const scssMap = generateScssMap("path/to/foundation", "path/to/theme", "path/to/'@douyinfe/semi-icons'");
const tempDir = writeFile(scssMap);
const result = compilerFromScssMap(path.join(tempDir, 'index.scss'), isMin);
fs.outputFileSync(outputPath, result.css);

```

## 维护者

<table><tbody><tr><td align="center"><a href="https://github.com/DouyinFE/semi-design" rel="nofollow noopener noreferrer"><img alt="" src="https://sf6-cdn-tos.douyinstatic.com/obj/eden-cn/ptlz_zlp/ljhwZthlaukjlkulzlp/SemiLogo.jpg" width="100px;" loading="lazy" decoding="async" referrerpolicy="no-referrer"><br><sub><b>半团队</b></sub></a></td></tr></tbody></table>

## 许可证

麻省理工学院

## 常见问题

### @douyinfe/semi-scss-compile 是什么？

将半 scs 编译为 css

### 如何安装 @douyinfe/semi-scss-compile？

在项目目录运行 npm install @douyinfe/semi-scss-compile，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 semi-build-scss，可以用 npx semi-build-scss 直接运行。

### @douyinfe/semi-scss-compile 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @douyinfe/semi-scss-compile 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @douyinfe/semi-scss-compile 可以商用吗？

@douyinfe/semi-scss-compile 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @douyinfe/semi-scss-compile 的下载量有多少？

根据 npm 官方下载统计，@douyinfe/semi-scss-compile 在 2026/10/13 – 2026/11/11 这 30 天内被下载 2,469 次，日均约 82 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @douyinfe/semi-scss-compile 还在维护吗？

最新版本 2\.105\.0 发布于 2026/11/12（1 天前）；至今共发布 591 个版本，其中过去 12 个月发布了 67 个；首次发布于 2021/10/25。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

