JavaScript文件所需的文件扩展名

3

我看到的所有JavaScript文件扩展名都是.js,例如:<script src="MyScriptFile.js" language="javascript" />

我想知道这是否是一个必须的要求?或者,任何扩展名都可以吗?例如,我可以使用MyScriptFile.txtMyScriptFile并仍然在所有主要的Web浏览器中运行一个完美有效的JavaScript文件吗?

我在JavaScript规范中没有找到相关信息。


你为什么想要这样做呢? - Andy
2
当HTTP发挥作用时,就不存在“文件”,只有资源。而这些资源可以被命名为任何你喜欢的名称 - 如果你想用src="YOLO"嵌入你的脚本,那么你是自由的。尽管如此,从文件系统传递资源并使用正确的Content-Type标头通常依赖于配置,该配置确实查看文件扩展名以便能够自动确定它。 - CBroe
@Andy:我不想这么做,但是我有一个坚持要这样做的客户。 - Gruber
客户永远是对的,除非他们错了 :p - Jaromanda X
2个回答

2

它们可以是任何东西。我只是根据这里给出的答案尝试了一下,而且它有效。当你需要一个动态脚本文件时,它可能非常有益,这就是我来到这里的原因。我能够用php构建我的脚本文件,以构建从数据库中提取的Google地图标记的动态列表。感谢答案。我的脚本文件链接src指向一个具有php扩展名的文件,该文件输出javascript文本。


2
不,它们也可以是 .whatever ,并且仍然可以正常工作。
脚本如下:
<script type="text/javascript" src="file.txt"></script>

告诉html使用该文件作为JS文件,无论扩展名是什么。
我曾经用php编写我的JS,因此它们可以包含PHP代码,但有时候这样做可能会遇到麻烦。
您还应该注意搜索引擎优化;搜索引擎期望.js文件是.js文件,如果扩展名错误,它们可能会出错,导致您的网站失去一些分数和位置。
一个重要的点是服务器,因为它“知道”文件内容是javascript,如果它们是.js扩展名,它会以正确的方式处理它,并执行预期的操作。
最佳实践是使用适当的文件扩展名。(但这并不意味着您不能使用其他扩展名。)

当脚本的src是.jsx扩展名时,使用方式是否相同? - Felix Xu
@FelixXu .jsx 文件无法被浏览器直接读取,因此您需要先使用编译器进行编译。 - Mr.Web

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接