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

The best way to configurate the baseUrl for multiple js file

我正在编写一个混合应用程序,有几个单独的 html/js 会加载到不同的 Android webviews。

为了调试,我必须为我的 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?

之前的配置文件

解决这个问题的最佳方法是什么?

JavaScript 变量的生命周期

  • JavaScript 变量的生命周期从声明时开始。

  • 局部变量在函数完成时删除。

  • 关闭页面时全局变量被删除。

根据你的情况使用全局变量。

如果使用 JS 越来越单调,试试 <base> element。它不像全局变量那样灵活(除非你不介意改变 href 属性),它更像是一种方便。

这样我就不会因为不符合 OP 标签而被否决...

var base = document.querySelector('base');
base.href = "http://192.168.1.114";

有很多方法,不可能决定哪种更好,因为最好的解决方案总是在中间...

例如,通过构建工具(grunt、gulp、ecc...)执行此操作,使您能够透明地使用不同的配置,但是,您无法切换 ENV 运行时 ...

如何在生产环境中测试暂存域?


因此,根据我的经验,最好的解决方案是创建一个混合系统,例如:

通过grunt-contrib-uglify(例如),在编译时,你可以传递所有(或只是重要的)可用的配置,并使用另一个名为 ENV 的变量(var ENV = 'PRODUCTION') 你可以让你的应用程序决定使用哪个...

希望对您有所帮助!