如何创建动态外部JavaScript文件?

时间:2013-05-17 15:21:11

标签: php javascript web-services dynamic

我正在考虑一些在线服务如何创建动态JavaScript文件。这些文件具有.js扩展名,但其内容不是静态的。我找到了一个示例文件here。看来这个脚本是用更高级的编程语言生成的。我认为它是用PHP或类似的东西完成的,但我不确定,我还没有找到关于这个主题的任何文档。

有没有众所周知的方法来创建这种动态JavaScript文件?

3 个答案:

答案 0 :(得分:9)

仔细考虑是否有必要生成动态JS文件。您可以通常简单地注入静态脚本并使用单独的JSON来支持动态配置到页面中,而不是生成动态JS。

如果您在此(或任何)StackOverflow页面上查看源代码,您将看到他们使用的是相同的模式:静态外部.js文件,它们引用单独的JSON集合块进行配置。 JSON就是提供动力的东西。

查看来源并查找:

StackExchange.init({...

大多数服务器端语言使得将对象序列化为JSON变得微不足道,因此您可以将其注入页面。

以下是使用外部静态js文件的十大理由:

  1. 缓存
  2. 代码着色
  3. 检查语法
  4. 关注点分离
  5. 可重复使用
  6. 更容易阅读。
  7. 少一层抽象
  8. 可以服务于缩小和混淆
  9. 避免对每个请求进行字符串解析
  10. StackOverflow和所有酷孩子都在这样做(嘿,我承诺了10个理由。)
  11. 此处有更多信息:http://www.bitnative.com/2013/10/06/javascript-configuration-object-pattern/

答案 1 :(得分:1)

这取决于您是要生成文件还是返回数据。生成文件将使用file_put_contents之类的内容完成。或者,你可以在一个带有.htaccess文件的文件夹中有一个.js文件,该文件会告诉你execute it as php,你可以根据session,get或post参数动态生成脚本。

答案 2 :(得分:1)

您可以使用任何服务器端语言来创建动态javascript文件,javascript文件不需要以.js结尾。如果您真的希望文件以.js结尾,则需要编辑服务器设置以处理.js文件,例如PHP文件。

您还可以使用服务器代码生成内联javascript。

但是在生成javascript文件时要小心,当混合使用两种编程语言时,它会变得非常复杂