.gitignore 中的语义 UI
Semantic UI in .gitignore
我最近开始尝试使用语义 UI。我在 git 存储库中的一个项目中使用它。
我使用所有默认设置将语义文件添加到项目根目录中的 semantic 文件夹中。我以后可能会也可能不会更改这些设置。
我的问题是,如何正确地将文件夹添加到 git?如果可能的话,我不想添加稍后可以使用 gulp
简单重建的文件。我应该添加哪些文件以及应该忽略哪些文件?
我最终部分遵循了@fstanis 在 How can I separate generated artifacts from the main build with semantic UI? 的回答,由@poke 链接。
我保留了:
- semantic.json
- semantic/src/
- semantic/gulpfile.js(因为我没有在项目的其他地方使用
gulp
)
我忽略了:
- semantic/dist/
- semantic/tasks/,因为和node_modules/semantic-ui/tasks完全一样,所以可以复制
我还扩充了 semantic/gulpfile.js 如下检查 semantic/tasks 是否存在并复制它如果没有。
/* Very top of semantic/gulpfile.js */
var fs = require('fs-extra'); // Used for recursive copying
var path = require('path');
try {
var stat = fs.statSync(path.join(__dirname, './tasks'));
console.log('\'tasks\' folder already exists. Continuing.')
} catch (e) {
console.log('Copying \'tasks\' folder from \'node_modules/semantic-ui/tasks\'');
fs.copySync(path.join(__dirname, '../node_modules/semantic-ui/tasks'), path.join(__dirname, './tasks'));
console.log('Copying done! Continuing.');
}
这似乎是可构建语义 UI 安装所需的最低要求。
参考您自己的回答,我有一个类似但略有不同的方法,可能需要额外的 hacky 小步骤,但可以使回购更干净。
我的 .gitignore
看起来像这样:
node_modules
semantic/dist/*
semantic/gulpfile.js
semantic/src/definitions
semantic/src/semantic.less
semantic/src/theme.less
semantic/src/themes
semantic/tasks
!semantic/dist/semantic.min.css
!semantic/dist/semantic.min.js
因此,与您的解决方案不同的主要是我还忽略了 src/
目录中的文件,例如定义和所有这些主题。
但是: 你必须在克隆 repo 后进行语义设置。 And:这可能会覆盖您的 semantic.json
,因此您需要还原该更改——我之前提到的棘手步骤。
这两个 dist 文件包含在只使用语义的情况下,无需更改任何内容。
我最近开始尝试使用语义 UI。我在 git 存储库中的一个项目中使用它。
我使用所有默认设置将语义文件添加到项目根目录中的 semantic 文件夹中。我以后可能会也可能不会更改这些设置。
我的问题是,如何正确地将文件夹添加到 git?如果可能的话,我不想添加稍后可以使用 gulp
简单重建的文件。我应该添加哪些文件以及应该忽略哪些文件?
我最终部分遵循了@fstanis 在 How can I separate generated artifacts from the main build with semantic UI? 的回答,由@poke 链接。
我保留了:
- semantic.json
- semantic/src/
- semantic/gulpfile.js(因为我没有在项目的其他地方使用
gulp
)
我忽略了:
- semantic/dist/
- semantic/tasks/,因为和node_modules/semantic-ui/tasks完全一样,所以可以复制
我还扩充了 semantic/gulpfile.js 如下检查 semantic/tasks 是否存在并复制它如果没有。
/* Very top of semantic/gulpfile.js */
var fs = require('fs-extra'); // Used for recursive copying
var path = require('path');
try {
var stat = fs.statSync(path.join(__dirname, './tasks'));
console.log('\'tasks\' folder already exists. Continuing.')
} catch (e) {
console.log('Copying \'tasks\' folder from \'node_modules/semantic-ui/tasks\'');
fs.copySync(path.join(__dirname, '../node_modules/semantic-ui/tasks'), path.join(__dirname, './tasks'));
console.log('Copying done! Continuing.');
}
这似乎是可构建语义 UI 安装所需的最低要求。
参考您自己的回答,我有一个类似但略有不同的方法,可能需要额外的 hacky 小步骤,但可以使回购更干净。
我的 .gitignore
看起来像这样:
node_modules
semantic/dist/*
semantic/gulpfile.js
semantic/src/definitions
semantic/src/semantic.less
semantic/src/theme.less
semantic/src/themes
semantic/tasks
!semantic/dist/semantic.min.css
!semantic/dist/semantic.min.js
因此,与您的解决方案不同的主要是我还忽略了 src/
目录中的文件,例如定义和所有这些主题。
但是: 你必须在克隆 repo 后进行语义设置。 And:这可能会覆盖您的 semantic.json
,因此您需要还原该更改——我之前提到的棘手步骤。
这两个 dist 文件包含在只使用语义的情况下,无需更改任何内容。