如何根据配置(调试/发布/分发)为多设备混合应用程序定义全局变量?
示例:我的应用必须查询(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'
答案 0 :(得分:2)
您可以使用Cordova hooks来执行此操作。
答案 1 :(得分:1)
由于配置是构建时属性,因此获取其源代码值的唯一方法是在构建时生成源代码。这意味着使用T4等模板语言创建模板,然后黑客攻击项目文件以扩展模板并生成所需的源代码。我建议使用Clarius.TransformOnBuild包来在构建时触发代码生成。
Javascript或HTML中不存在#if
等编译时指令。