2

我目前正在使用 YUI Compressor 在一个运行良好的项目中压缩我的 CSS 文件,但由于插件有多个文件,我决定在我的 CSS 文件夹中使用子文件夹。如何使文件观察器也适用于子文件夹?我似乎找不到任何关于此的文档,也没有在网上找到任何有同样问题的人。

我不介意整个项目范围内的所有CSS 文件是否都被缩小,但我想避免每次创建新的子文件夹时都定义新的 File Watcher。


PS:我在 Edit Watcher 屏幕中看到选中的“仅跟踪根文件”选项,但它是灰色的,所以我无法将其关闭。不知道为什么提供此选项,因为无论我尝试什么设置,它似乎总是呈灰色显示。

4

3 回答 3

0

找到了!

“仅跟踪根文件”选项不是可选的(或至少不是全部)问题。这可以通过不使用默认的 YUI Compressor 文件观察器模板而是创建一个自定义的来绕过。

真正的问题是我的范围设置为项目文件(项目的根),但参数字符串设置为$FilePath$.css -o $FilePathWithoutAllExtensions$.min.css. 这意味着观察者C:/[PROJECTPATH]/[SUBFOLDERS]/[FILENAME].css在项目根目录中搜索,然后将其输出到项目的根目录(-o $FileNameWithoutExtension$.min.css)。

通过摆弄参数和Insert Macro's函数,我制作了这个新的参数字符串:$FileDirRelativeToProjectRoot$\$FileNameWithoutAllExtensions$.css -o $FileDirRelativeToProjectRoot$\$FileNameWithoutAllExtensions$.min.css. 它现在监视所有[FILENAME].css文件并将缩小版本放在原始文件的同一文件夹中。

使用Show console: Always代替Show console: Error选项确实帮助我解决了这个问题,因为根据参数找不到要缩小的文件显然是“不是错误”。

希望这个解释能帮助遇到这个问题的每个人避免一些挫折和时间。

于 2014-10-16T15:16:10.463 回答
0

不确定我理解子文件夹的含义。使用默认范围(项目文件)监视项目中的所有 .css 文件(具有所有子文件夹的根文件夹,递归) - 为什么在添加文件夹时需要创建新的监视程序?您是否在观察者中使用了一些自定义范围?

于 2014-10-15T12:10:33.683 回答
0

我为此挣扎了一段时间,因为您总是必须应用设置,对 SCSS 文件进行一些更改并查看它是否正常工作。

我的设置现在可以找到以下结构:

// Source
./scss/
    - styles.scss
    - _variables.scss
    - subfolder/
      - more-styles.scss

// Output
./css
    - styles.css
    - subfolder/
      - more-styles.css

我的文件观察器设置如下所示:

// Program: 
sass

// Arguments: 
./$FileDirPathFromParent(scss)$$FileName$:../css/$FileDirPathFromParent(scss)$$FileNameWithoutExtension$.css

// Output paths to refresh: 
$FileNameWithoutExtension$.css:$FileNameWithoutExtension$.css.map

// Working directory: 
$Projectpath$/scss/

关键之一是正确设置工作目录,例如$FileDir$只是SCSS文件在,所以相对路径是错误的。

截图文件观察者

于 2021-10-08T12:35:08.860 回答