如何根据配置(调试/发布)定义全局变量?

时间:2014-11-11 08:06:21

标签: visual-studio cordova multi-device-hybrid-apps

如何根据配置(调试/发布/分发)为多设备混合应用程序定义全局变量?

示例:我的应用必须查询(HTTP POST,使用ajax)Web服务器。在调试时,我希望查询本地Web服务器,在构建发布配置时,我希望查询生产Web服务器。

UPD: Avani 建议使用Cordova Hooks,但是:1)看起来像是在MDHA(link)中没有实现的钩子,2)如果实现了,在哪里存储钩子? \project_dir\hooks\project_dir\bld\Debug\hooks,或其他一些地方或方法? MDHA文档不见了。

我尝试将钩子添加到\project_dir\hooks\after_prepare(它修改了index.html),并且出现了编译错误:

EPERM, operation not permitted 'C:\Temp\BlankCordovaApp1\BlankCordovaApp1\bld\Debug\_www'

2 个答案:

答案 0 :(得分:2)

您可以使用Cordova hooks来执行此操作。

答案 1 :(得分:1)

由于配置是构建时属性,因此获取其源代码值的唯一方法是在构建时生成源代码。这意味着使用T4等模板语言创建模板,然后黑客攻击项目文件以扩展模板并生成所需的源代码。我建议使用Clarius.TransformOnBuild包来在构建时触发代码生成。

Javascript或HTML中不存在#if等编译时指令。