在使用PhoneGap构建Xcode时编译Haml、Sass和CoffeeScript

3
我正在使用PhoneGap构建一个基于HTML5的应用程序,想要使用Haml、Sass和CoffeeScript。请问是否有一种方法可以在Xcode 4.2的构建过程中集成这些文件并将其编译为HTML、CSS和JavaScript?由于我对Xcode仍不熟悉,仍在努力理解这些复杂的构建设置。感谢您的帮助。
2个回答

3

是的,你所描述的是构建阶段的一部分(参考文档这里)。

在选择项目中的目标后,您可以添加一个“运行脚本”目标,在构建时编译所有自定义内容类型。由于您可以指定“shell”(实际上是任何解释器),因此您可以使用(几乎)任何语言编写它。

一些提示:

  • 有一个叫做 $PROJECT_DIR 的环境变量,其中包含了你的 XCode 项目的绝对路径。你需要使用它(例如,$PROJECT_DIR/www 指向你的 www 文件夹)。

  • 把你的运行脚本尽可能早地放在构建阶段中,因为其他阶段可能依赖于生成的内容。

  • 我强烈建议把你的“运行脚本”构建阶段作为你的 VC 中的可执行文件,并且只使用粘贴脚本将脚本加载到你的 VC 中。

  • rsync 是最好(也是最快)的镜像另一个目录的方法,而不需要了解其内容的详细信息。特别有用的是它的 --delete 标志,用于修剪已删除的文件。如果你可以运行 XCode 4.2,它已经存在于你的系统中。

  • 最后,一个外部监视器脚本(例如 guardcoffee --watchcompass --watch),输出它们的结果可能和一个运行脚本构建阶段一样有效。


谢谢 Jacob。最终我使用了 Guard,并采用了单独的 src 目录。我发现这是一种不错的方法,可以将最常编辑的文件与 iOS 和 HTML 编译文件分离开来。 - chrishomer
不客气!我经常尝试构建阶段脚本的方式,但总感觉有些地方不太对,然后我就回到了注入源码的观察器方式,就像你描述的那样。 - Jacob Oscarson

1

最近我写了一篇博客文章,我的建议是使用sprockets和一个rack服务器。Sprockets是管理资产的最佳方式,而rack服务器通过您的桌面浏览器促进快速开发。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接