我正在写一个混合应用程序,有几个单独的html/js会加载到不同的Android网络视图中。
为了调试,我必须更改ajax请求的基本Url,因为不同的网络连接、不同的同事。。。
但是不同的url存在于许多JS文件中。
//file1.js
baseUrl = "192.168.1.114:3000";
//file2.js
baseUrl = "192.168.1.114:3000";
//file3.js
// there are the same baseUrl;
我想同时配置和修改所有这些字段,以便进行生产或调试。怎样喝Grunt?或者Ajax之前的配置文件Ajax其他url?
解决这个问题的最佳方法是什么?
有很多方法,不可能决定什么更好,因为最好的解决方案总是在中间。。。
例如,通过构建工具(grunt、gump、ecc…)来实现这一点,可以让您轻松地使用不同的配置,但您将失去在运行时切换ENV的能力。。。
如何在生产环境中测试暂存域?
因此,我的经验表明,最好的解决方案是创建一个混合系统,例如:
通过grunt contrib uglify(例如),在编译时,您可以传递所有(或仅重要)可用的配置,并且使用另一个名为ENV(var ENV = 'PRODUCTION')
)的变量,您可以让您的应用程序决定其中哪一个使用…
希望它能有所帮助!
JavaScript变量的生存期
-
JavaScript变量的生存期从声明时开始。
-
函数完成后会删除局部变量。
-
关闭页面时会删除全局变量。
在您的案例中使用全局变量。
如果使用JS越来越单调,请尝试<base>
元素。它不像全局变量那样灵活(除非您不介意更改href
属性),它更方便。
这样我就不会因为不符合OP标签而被否决。。。
var base = document.querySelector('base');
base.href = "http://192.168.1.114";