我一直在尝试编写一个 Ant 任务来使用 apply 任务在我的项目中“编译”Sass 脚本,但我一直收到“没有这样的文件或目录”错误。我认为这可能是由构建路径中的空格引起的,所以我经历了移动项目的麻烦,结果发现 Ant 在返回路径时似乎省略了文件集的根目录。这是目标的样子:
<target name="sass-compile" depends="properties">
<apply executable="sass">
<srcfile />
<targetfile />
<fileset dir="${project.src.dir}" includes="**/*.scss" />
<globmapper from="*.scss" to="*.css" />
</apply>
</target>
为了帮助排除故障,我将可执行文件从 sass 切换到 echo,我注意到映射器正在像这样转换路径......
/Users/me/Documents/Programming/workspace/Project/ src /java/com/proj/web/page/template/Template.scss
……进入这个……
/Users/me/Documents/Programming/workspace/Project/java/com/proj/web/page/template/Template.css
请注意,目标文件路径中缺少 src 目录。我在这里看到错误还是以某种方式预期?我很想知道这里发生了什么。我也尝试过使用正则表达式映射器和带有替换字符串的过滤器映射器。结果是一样的。
我正在运行 Ant 1.7.1,它与我在 Mac 上运行的 Eclipse Helios 捆绑在一起。我还在 Mac 和 Linux 上尝试了 Ant 1.8。没有任何效果。有没有人有任何想法?