可以使用Xcode作为Javascript IDE吗?

Cyr*_*lle 12 ide xcode build-process makefile

我正在开发一个专为在iPhone/iPad上运行而设计的Javascript密集型网络应用程序.它也适用于所有Webkit浏览器(Safari + Chrome).

我有一个由许多JavaScript文件组成的自制MVC框架:每个视图一个,每个控制器一个,许多"帮助"类.

我还有一堆LESS文件,一个"main"包括每个视图的每个LESS文件(例如,如果我有一个UIListView.js,我也有一个UIListView.less).

目前我正在使用MacVim和Less.app,并且在我真正需要使用开发人员工具进行"硬核"调试时,在iPhone/iPad模拟器,真正的iPhone/iPad,有时还有Safari或Chrome上进行测试.我的所有文件都存储在我的~/Sites/projectX文件夹中,我使用Mac的内置Web服务器浏览.

开发时这没关系,我的index.htm引用了很多小文件但是因为我在我的Intranet上通过WiFi无关紧要.

我想要实现的是一种更"以项目为导向"的方法.就像我在Xcode中开发iOS项目一样,我想将XCode用于我的所有开发需求,将所有源文件保存在一个独立的目录中~/Sites,比如说~/Desktop/projectX.我想有两个配置(调试和发布)用于"构建和运行":

  • "debug"配置只会编译main .less文件(包括所有小的.less文件),将JS + CSS + HTM文件复制到某个目录(〜/ Sites/projectX_debug),以及所有图形资源.然后根据所选的"子配置",启动iPhone模拟器,iPad模拟器,Safari或Chrome,清除其缓存(通过AppleScript?)并打开index.htm

  • 将所有JS文件粘合在一起并缩小它们的"发布"配置,编译和缩小.less文件,更改index.htm以仅引用粘合的JS,然后在发送所有之前使用pngout/pngcrush/whatever优化所有PNG存档到本地目录(〜/ Sites/projectX_release)或通过sftp存档到我的生产服务器.

我相信我可以使用XCode 4的构建阶段,甚至可以使用GNU makefile或某种预处理器来实现(如果不是全部),但是我迷失在哪里开始.

有人已经有这种设置使用Xcode做除了Mac/iOS开发之外的其他事情,但是仍然使用大多数IDE传统的构建阶段/ makefile的"经典"概念吗?

(一个可接受的解决方法是简单地创建一个bash脚本来处理它 - 我已经可以自己管理它,但我真的想使用集成的XCode功能,只需按Cmd-R"编译"并运行我的在调试模式下的项目).


bry*_*sgo 2

我会尝试逐步完成您应该做的事情......

“调试”配置将简单地编译主 .less 文件(其中包括所有小 .less 文件),

  • 我将创建一个构建规则来处理 .less 文件,使用脚本来编译它们。

将 JS + CSS + HTM 文件以及所有图形资源复制到某个目录 (~/Sites/projectX_debug)。然后根据所选的“子配置”,启动 iPhone 模拟器、iPad 模拟器、Safari 或 Chrome,清除其缓存(通过 AppleScript?)并打开 index.htm

  • 为此,您只需将文件添加到“构建阶段”部分的复制阶段即可。
  • 您可以在目标的“构建设置”部分中设置构建目录(~/Sites/projectX_debug,如果您愿意)。

“release”配置将所有 JS 文件粘合在一起并缩小它们,编译并缩小 .less 文件,更改 index.htm 以仅引用粘合的 JS,然后使用 pngout/pngcrush/whatever 优化所有 PNG,然后再发送所有存档到本地目录 (~/Sites/projectX_release) 或通过 sftp 到我的生产服务器。

  • 对于这一部分,您可能想要创建一个新目标并添加不同的规则和设置。

或者

如果上面的内容太复杂:

  1. 编写两个 bash 脚本。
  2. 制定两个目标。
  3. 将 bash 脚本添加为每个目标中的构建阶段。

希望有帮助。