6

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

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

4

3 回答 3

10

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

如果您在这个(或任何一个)StackOverflow 页面上查看源代码,您会发现它们使用的是相同的模式:静态外部 .js 文件引用单独的集中 JSON 块进行配置。JSON 提供了活力。

查看源代码并查找:

StackExchange.init({...

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

以下是使用外部静态 js 文件更可取的十个原因:

  1. 缓存
  2. 彩色代码
  3. 语法检查
  4. 关注点分离
  5. 可重复使用的
  6. 更容易阅读。
  7. 少一层抽象
  8. 可以服务于缩小和混淆
  9. 避免对每个请求进行字符串解析
  10. StackOverflow 和所有很酷的孩子都在这样做(嘿,我答应了 10 个理由。)

更多信息在这里: http: //www.bitnative.com/2013/10/06/javascript-configuration-object-pattern/

于 2013-05-17T15:36:29.080 回答
1

这取决于您是要生成文件还是返回数据。生成文件将使用类似file_put_contents的东西来完成。或者,您可以在带有 .htaccess 文件的文件夹中拥有一个 .js 文件,该文件告诉您以php 的形式执行它,从而允许您根据会话、get 或 post 参数简单地动态生成脚本。

于 2013-05-17T15:27:05.557 回答
1

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

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

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

于 2013-05-17T15:28:17.687 回答