菜单

构建工具
使用 Gulp 与语义 UI

概述

30 秒解释

下载语义 UI 导航到安装文件夹,然后运行 gulp 命令

构建所有文件

gulp build

监视更改

gulp watch

为什么要使用构建工具?

语义 UI 使用 Gulp 具有以下几个原因

使用 主题变量 处理 LESS 文件
使用 autoprefixer支持的浏览器 添加供应商前缀
监视文件更改,并在调整主题时重建必要的文件
自动处理资产路径,以便压缩和合并的版本可以存在于不同的目录中
允许仅包含网站所需组件的自定义构建
允许使用 RTLCSS 进行高级使用,例如从右到左 (RTL) 语言

文件夹结构

语义 UI 项目包括以下文件夹结构。

src
site
您的网站主题
themes
default
默认主题
packaged-theme
其他主题
theme.config
用于设置打包主题的配置文件
dist
编译后的 CSS 和 JS 文件
components
各个组件的 CSS 和 JS 文件
semantic.css
合并的版本
semantic.js
合并的版本
semantic.json
包含 gulp 的构建设置

Gulp 命令

以下是所有可用 gulp 命令的列表

命令 描述
install 询问安装问题以设置 semantic.json
watch (默认) 监视源文件中的更改,并在更改时构建文件
build 构建所有文件
clean 清除 dist/ 文件夹
version 输出当前版本
build-javascript 构建 JS 文件
build-css 构建 CSS 文件
build-assets 构建资产文件
serve-docs 将文件提供给本地文档实例
build-docs 将文件构建到文档文件夹

配置文件

semantic.json

构建工具设置存储在一个名为 semantic.json 的特殊文件中,它可以包含在语义安装文件夹的父文件夹中的任何文件夹中。

如果您使用了 npm 或 meteor,则会在您的项目根目录中自动为您生成一个 semantic.json 文件。如果您使用了其他包管理器,则可以运行 gulp install 来运行交互式安装程序。

{ // 添加到“paths”中指定的所有其他路径的基路径 "base": "", // 语义 UI 的当前版本 "version": "2.5.0", "paths": { "source": { // 源主题配置文件 "config" : "src/theme.config", // 源定义文件夹 "definitions" : "src/definitions/", // 源网站主题 "site" : "src/site/", // 源主题文件夹 "themes" : "src/themes/" }, "output": { // 打包的源代码(压缩/未压缩) "packaged" : "dist/", // 未压缩的源代码 "uncompressed" : "dist/components/", // 压缩的源代码 "compressed" : "dist/components/", // 主题资产的输出目录 "themes" : "dist/themes/" }, // gulp clean 任务的目录 "clean" : "dist/" }, // 当设置为整数权限时,将使用此文件权限设置 dist 文件 "permission" : false, // gulp watch/build 是否应该运行 RTLCSS "rtl": false, // 将仅包括这些名称的组件 "components": [ "reset", "site", "button", "container", "divider", "flag", "header", "icon", "image", "input", "label", "list", "loader", "rail", "reveal", "segment", "step", "breadcrumb", "form", "grid", "menu", "message", "table", "ad", "card", "comment", "feed", "item", "statistic", "accordion", "checkbox", "dimmer", "dropdown", "embed", "modal", "nag", "popup", "progress", "rating", "search", "shape", "sidebar", "sticky", "tab", "transition", "api", "state", "visibility" ], // 是否包含特殊的项目维护者任务 "admin": false }

theme.config

LESS 使用一个特殊的配置文件 theme.config,它可以让你指定每个组件应该使用哪个主题。如果你还没有生成这个文件,那么在运行构建工具时,你会收到错误消息

你可以通过查看 主题指南 来了解更多关于 theme.config 的信息

导入 Gulp 任务

请查看我们的 食谱部分,以了解如何将各个 gulp 任务导入您的自定义 Gulpfile 中的示例。

自动安装和持续集成
2.2 中的新功能

我们在 2.2 中在 semantic.json 中添加了一个新设置,以帮助使 CLI 或其他自动化部署工作更顺畅。

在环境的 semantic.json 配置中指定 autoInstall: true 将防止在运行 npm install 时出现任何用户提示,从而允许自动化部署。

调光器消息
调光器副标题