我正在考虑一些在线服务如何创建动态JavaScript文件。这些文件具有.js扩展名,但其内容不是静态的。我找到了一个示例文件here。看来这个脚本是用更高级的编程语言生成的。我认为它是用PHP或类似的东西完成的,但我不确定,我还没有找到关于这个主题的任何文档。
有没有众所周知的方法来创建这种动态JavaScript文件?
答案 0 :(得分:9)
仔细考虑是否有必要生成动态JS文件。您可以通常简单地注入静态脚本并使用单独的JSON来支持动态配置到页面中,而不是生成动态JS。
如果您在此(或任何)StackOverflow页面上查看源代码,您将看到他们使用的是相同的模式:静态外部.js文件,它们引用单独的JSON集合块进行配置。 JSON就是提供动力的东西。
查看来源并查找:
StackExchange.init({...
大多数服务器端语言使得将对象序列化为JSON变得微不足道,因此您可以将其注入页面。
以下是使用外部静态js文件的十大理由:
此处有更多信息: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文件时要小心,当混合使用两种编程语言时,它会变得非常复杂