首页 > 解决方案 > 将已编译的 scss 添加到 gitignore 但不添加源 css 文件

问题描述

我正在尝试在现有项目中实现 scss,特别是使用sassnpm 包。

我希望.css编译的文件.scss被 git 忽略。我的问题是将它们与我们存储库中存在的一些源 css 文件区分开来。

我尝试了两件事:

  1. 我试图找出一种方法让 npm 包为已编译的 css 提供更长的扩展名 - 即将任何*.scss文件编译为*.temp.css或类似的东西,然后忽略所有以.temp.css. 但是,我认为这样做的唯一方法是记住我所有的源文件的名称*.temp.scss,这很容易出错,而且说实话有点难看。

  2. 我试图将所有已编译的.css文件移动到资产文件夹中 - 这很复杂,因为源.css文件和源.scss文件最终都共享相同的父文件夹(尽管拆分为单独的 .scss)文件,并且无论出于何种原因sass包的多对多模式不仅复制已编译的 css - 它还将复制源 css 文件。

例如,如果我有这个文件夹结构:

root
  ├ src
  | ├ header.scss
  | └ nav.css
  └ dist

然后我sass root/src:root/dist在命令行中运行,我在 dist 文件夹中得到一个副本nav.css,除了我做的编译文件之外,我不想要这个副本header.css

所以我在 Stackoverflow 把它带给了你们这些聪明的人。你能想出一种优雅的方式来:

  1. 分配一个文件扩展名,而不是.css从具有确切文件扩展名的文件编译的文件.scss
  2. 将文件编译.scss到单独的文件夹中而不移动同级.css文件,或者
  3. 实现一些其他模式,允许源文件.scss.css源文件和平共存,而.scss被编译的文件及其输出.css文件被忽略.gitignore

我试图将实现保持在最低限度,但如果你认为我应该引入其他工具,如 webpack,我愿意接受任何好的推理。

标签: cssnpmsassgitignore

解决方案


推荐阅读