为多个js文件配置baseUrl的最佳方式

The best way to configurate the baseUrl for multiple js file

本文关键字:baseUrl 最佳 方式 配置 文件 js      更新时间:2023-09-26

我正在写一个混合应用程序,有几个单独的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";