新Web项目上javascript配置的最佳实践

时间:2010-07-06 10:37:26

标签: javascript jquery json configuration-files

我想问一个关于新的大型网络项目的javascript要求的问题。我们将使用大量的javascript,ajax请求,jquery,json对象&我们项目中的jquery插件。我们计划在服务器端使用php class和ini文件将全局变量和大量默认值存储在全局站点配置文件中。

但是我们需要使用javascript -jquery在客户端读取,使用并有时覆盖一些变量和配置值。

这个基于javascript的配置文件必须具有以下属性;

  • 不会拥有所有服务器端配置值。只有我们需要。
  • 必须是将在html head部分调用的单个文件。
  • 必须定义全局变量或json或javasctipt对象或数组(我不知道哪个最好)
  • 此值必须可由其他javascript函数和对象访问。
  • 存储布尔,字符串,整数可能是5-6个不同页面的一些初始化方法(例如:我们不需要产品详细信息页面上的主页面配置值,我们不需要产品详细信息页面的一些初始化主页上的方法和值等。)
  • 我们需要在每个页面上获取此配置对象的某些值,例如debugMode = true或false等。
  • 我们需要通过此配置文件知道其他javascript对象运行平台的图像和其他资源路径(Developer-Test-Stage-Production)

此外,我们可以在服务器端完全生成此文件或生成静态.js文件,并在PHP请求之后,设置一些特定于用户页面或特定于语言的值,而不是必须放置(覆盖)此服务器的一部分Js对象中生成的值。

此解决方案的最佳做法是什么?有什么建议吗?

1 个答案:

答案 0 :(得分:3)

  
      
  • 必须定义全局变量或json   或javasctipt对象或数组(我没有   知道哪个最好)
  •   

JSON基本上是一个对象文字,所以它可以做到这两点。去吧。将JSON视为序列化的javascript对象。

  
      
  • 此值必须   可以通过其他JavaScript访问   功能和对象。
  •   

只要您运行JSON,它就会在您的代码中提供。

  
      
  • 将存储   布尔,字符串,整数可能是一个   一些小的初始化方法   5-6个不同页面(例如:我们没有   需要主页的配置值   产品详细信息页面,我们没有   需要产品详细信息页面的一些   初始化方法和值   主页等。)
  •   

同样,JSON可以完成所有这些。

所以我建议一个JSON文件,它通过客户端的脚本标记包含在内。 JSON很容易在服务器端生成,读取和操作(例如:php中的json_encodejson_decode

它应该是一个静态的js文件,因为它对服务器的压力最小。此外,Gzip压缩有助于降低带宽成本。