Answers:
一种可能的命名约定是使用类似于jQuery使用的命名方案。它没有被普遍采用,但是很普遍。
product-name.plugin-ver.sion.filetype.js
其中product-name
+ plugin
对还可以表示名称空间和模块。在version
与filetype
通常是可选的。
filetype
可能与文件内容的方式有关。经常看到的是:
min
缩小文件custom
用于自定义构建或修改的文件例子:
jquery-1.4.2.min.js
jquery.plugin-0.1.js
myapp.invoice.js
我不知道javascript文件的任何特殊约定,因为它们在Web上与CSS文件或html文件或诸如此类的其他任何类型的文件上并不是唯一的。您可以执行一些“安全”的操作,以减少意外碰到跨平台问题的可能性:
various-scripts.js
,则连字符是一种安全,有用且常用的分隔符。没有正式的,通用的约定来命名JavaScript文件。
有多种选择:
scriptName.js
script-name.js
script_name.js
都是有效的命名约定,但是我更喜欢jQuery建议的命名约定(适用于jQuery插件,尽管它适用于任何JS)
jquery.pluginname.js
该命名约定的优点在于,它明确描述了要添加的全局名称空间污染。
foo.js
添加 window.foo
foo.bar.js
添加 window.foo.bar
因为我没有使用版本控制,所以它应该放在全名之后,最好用连字符分隔,主版本号和次要版本号之间应使用句点:
foo-1.2.1.js
foo-1.2.2.js
foo-2.1.24.js
The beauty to this naming convention is that it explicitly describes the global namespace pollution being added.
,但从未注意到
Foo
或的文件,该myFoo
如何简单地分别命名该文件Foo.js
或myFoo.js
?
您所提供的链接中的问题是关于JavaScript变量的命名,而不是文件命名,因此请在提出问题的上下文中忽略该问题。
至于文件命名,这纯粹是偏好和品味的问题。我更喜欢用连字符命名文件,因为那样我就不必像使用camelCase文件名时那样使用Shift键了。并且因为我不必担心Windows和Linux文件名之间的差异(Windows文件名不区分大小写,至少在XP中是如此)。
因此,答案与许多答案一样,是“取决于”或“取决于您”。
您应该遵循的一条规则是,在选择的约定中要保持一致。
我通常喜欢使用小写的连字符,但尚未提及的一件事是,有时使文件名与包含在其中的单个模块或可实例化函数的名称完全匹配非常好。
例如,我有一个显示模块,var knockoutUtilityModule = function() {...}
在其自己的名为kickoutUtilityModule.js的文件中声明了该模块,尽管从客观上讲,我更喜欢剔除实用程序module.js。
类似地,由于我使用捆绑机制来组合脚本,因此我采取了在各自的C#样式文件中定义可实例化函数(模板视图模型等)的方法,以实现可维护性。例如,ProductDescriptorViewModel单独存在于ProductDescriptorViewModel.js内部(我对可实例化函数使用大写字母)。
MyPlugin
班会去MyPlugin.js
。该MenuItem
阵营组件将进去MenuItem.js
。其他开发人员将需要/导入“您的酷模块”并使用其中的多个符号,因此命名为cool-module.js
。–