xml-是否有人使用javascript配置文件?

我们有特定于环境的javascript文件,因此我在考虑采用一种通用方法来读取XML(配置)文件来存储不同的特定于环境的设置。 我很想知道这里是否还有其他人(或者如果没有,您是否有理由这么做)?

Justin Helgerson asked 2020-08-11T21:40:28Z
6个解决方案
29 votes

您需要做的就是加载带有某些变量定义(理想情况下为名称空间)的javascript文件。 您可以为此使用单个对象文字:

var config = {
  option1: 'good;', 
  option2: {name: 'bad'}, 
  option3: ['u','g','l','y']
}

然后加载该文件作为您的第一个脚本,您将可以访问每个后续脚本中的配置信息,例如

if (config.option1 == 'good') doStuff();
James Westgate answered 2020-08-11T21:41:12Z
26 votes

JSON的使用速度比XML快数百倍,它本身带来了JavaScript对象。 附加并忘记。

编辑:

James Westgate的示例是JSON。 您可以将此内联或用作外部文件,甚至可以通过AJAX加载。

这是另一个示例:

var clientData = {}
clientData.dataset1 = [
    {name:'Dave', age:'41', userid:2345},
    {name:'Vera', age:'32', userid:9856}
]

alert(clientData.dataset1[0].name)
Diodeus - James MacFarlane answered 2020-08-11T21:40:47Z
9 votes

为什么不使用单独的js文件存储环境特定的设置?

就像您可以使用多个CSS文件来设置页面样式一样,您也可以使用多个js文件。

因此,您可以使用特定设置创建一个名为app-config.js的文件:

var SiteName = "MyWebsite.com";
var HeaderImage = "http://mycdn.com/images/mywebsite/header.png";

然后将js包含在页面中,如下所示:

<script type="text/javascript" src="/js/app-config.js"></script>
<script type="text/javascript" src="/js/app.js"></script>
Steve Wortham answered 2020-08-11T21:41:45Z
5 votes

您可能要考虑的一件事是使页面本身包含少量Javascript块,以仅提供此类配置信息。 通常,您实际上只需要少量信息即可进行URL构建等。我将举一个JSP示例:

<script>
  var appConfig = {
    'syndicate': '${environ.syndicate}',
    'urlBase': '${environ.urlBase}'
  };
</script>

然后,您的“纯” JavaScript代码可以查看window.appConfig以获取关键信息。 显然,如果您需要很多东西,那将变得一团糟。

当通过服务器端环境中的某些模板系统构建页面时,这特别容易。 这样,您只需要在一个位置(或少量位置;换句话说就是模板)中设置脚本标签,所有页面都可以自动获取它。

(已编辑,以消除怪异的变量声明)

Pointy answered 2020-08-11T21:42:36Z
0 votes

您可以使用jquery([http://think2loud.com/reading-xml-with-jquery/)之类的东西轻松地提取XML文件。

但是,我想提出特定于环境的客户端javascript代码是否真的是一个好主意。 似乎应该在服务器上处理任何特定于环境的内容(例如,我认为是qa,uat,生产),客户端应该与环境无关

Joel Martinez answered 2020-08-11T21:43:01Z
0 votes

我建议使用YCB。 这是一个如何使用它的示例:[https://github.com/yahoo/ycb/blob/master/examples/simple/app.js]

Tufan answered 2020-08-11T21:43:21Z
translate from https://stackoverflow.com:/questions/2775838/does-anyone-use-config-files-for-javascript