无需登录 数据私有 本地保存

设计令牌导出器 - 从 JSON 生成 SCSS/JS 变量

10
0
0
0

设计令牌导出器

将 JSON 设计令牌转换为 SCSS 变量、CSS 自定义属性或 JavaScript 常量

0 个令牌 JSON 有效
支持嵌套对象结构,点击上方按钮加载示例
等待输入 JSON...
等待输入 JSON...
等待输入 JSON...

常见问题与知识点

什么是设计令牌?

设计令牌(Design Tokens)是设计系统中存储视觉设计决策的原子单元,如颜色、字体大小、间距等。它们以平台无关的格式(如JSON)定义,可跨平台转换,确保品牌一致性。

SCSS变量 vs CSS自定义属性

SCSS变量在编译时解析,适合构建时主题;CSS自定义属性(--var)在运行时解析,支持动态切换主题。两者可互补使用:SCSS用于构建时配置,CSS变量用于运行时主题。

如何组织JSON结构?

推荐按类别嵌套:color、typography、spacing、shadow等作为顶级键。使用层级命名如color.primary.500表示不同色阶,工具会自动展开为扁平变量名。

命名约定最佳实践

推荐kebab-case用于CSS/SCSS(如--color-primary-500),camelCase用于JS(如colorPrimary500)。保持语义化命名,避免过于抽象的名称,让变量名自解释。

支持哪些输出格式?

本工具支持SCSS变量($var)、CSS自定义属性(--var)和JavaScript ES6常量(export const)三种格式。每种格式针对不同平台优化,可直接用于项目。

如何在项目中集成?

将导出的SCSS文件放入styles目录通过@import引入;CSS变量文件通过link标签或@import加载;JS文件通过import导入。建议配合构建工具实现自动化令牌分发。

深层嵌套如何处理?

工具递归遍历JSON对象,将嵌套路径用分隔符连接。例如color.primary.dark会生成$color-primary-dark或colorPrimaryDark,具体取决于所选命名风格。

支持数组和特殊值吗?

支持!数组值(如断点列表、阴影多值)会被保留。SCSS中数组转为括号列表,JS中使用JSON.stringify,CSS中保留原始格式。布尔值和数字也会正确处理。

设计令牌与设计系统

设计令牌是构建设计系统的基石。W3C设计令牌社区组正在推动标准化。使用令牌可实现设计-开发的无缝对接,推荐与Figma变量、Style Dictionary等工具配合。