我经常看到带有额外文件扩展名的JavaScript文件(我认为"扩展名"是正确的术语;如果没有,有人会纠正我,因为我&#39 ;未能找到标记它们的资源),例如:
someFile.bundle.js
^^^^^^
我记得读过这样添加文件扩展名可以使用命名约定(.bundle
会引用捆绑其他文件集合的文件。)
我最近看到了更多文件扩展名,例如:
someFile.spec.js
^^^^
现在我质疑这些扩展背后的行为;他们刚刚用于大会吗?这些类型的扩展名称是否是任意的(如某人可以将任何旧扩展名放在那里,它不会影响任何东西)?应该何时使用?您应该使用某些扩展程序(可能还有一些不应该)吗?
答案 0 :(得分:1)
他们不是扩展,真的。文件扩展名(至少通常是) last .
,尽管文件名结尾。那些只是.js
个文件。其余的纯粹是名字。
人们这样做是为了对事物进行分类。例如,在您的示例中,我怀疑第一个文件是基于多个输入文件自动生成的;例如,它是包。第二个可能包含测试代码,以确保某些外部API正常工作。在这两种情况下我都在推测,但重点是它只是一个命名约定。它可以很容易someFile-bundle.js
和someFile-spec.js
。
有一段时间我使用约定somefile.es6.js
来表示文件包含ES2015(ES6)语法,并且在用于Web之前需要进行转换,但我的客户端对{{1}做同样的事情(我认为比我的更常见)。这样可以轻松地在构建脚本等中选择它们(somefile-es6.js
或.es6.js
)。
答案 1 :(得分:1)
除了javascript文件之外,文件扩展名还可用于各种处理指令。例如,我已经开始命名我的许多php文件,如file.ajax.php
或file.process.php
,其中包含通用头文件,其中包含检查文件扩展名以确定是否提供html的逻辑,例如常见的导航。
我还提醒Laravel's blade templating engine使用.blade.php
“文件扩展名”,因为它的语法包含超出普通php的操作。