package.json 中的脚本使用什么命名约定?

问题描述 投票:0回答:5

package.json
中,我的脚本名称包含两个单词
lint
fix
。我该如何起一个正确的名字?

有选项:

  1. 小驼峰式 -
    lintFix
  2. 驼峰大写字母 -
    LintFix
  3. snake_case -
    lint_fix
  4. 烤肉串盒 -
    lint-fix
  5. gulp 风格,带有冒号分隔符 -
    lint:fix
  6. 任何其他分隔符。

什么选项是正确的?为什么?

node.js npm naming-conventions package.json
5个回答
23
投票

始终使用烤肉串盒。冒号是吞咽的倒退,而且看起来很糟糕。我讨厌它。

免责声明:我的观点经常是错误的。


22
投票

没有正式的命名约定。在 npm@v4 之前,标准脚本只有一个单词,例如

test
start
prestart
。 npm@v4 引入了一个新脚本
prepublishOnly
*.

所以现在,最佳实践是使用 lowerCamelCase

*参考:https://iamakulov.com/notes/npm-4-prepublish/


16
投票

看看 npm 本身,就像 galkin 的回答 中那样,似乎是个好主意。但讽刺的是,虽然 npm 脚本

prepublishOnly
是小驼峰命名法,但 npm GitHub 项目中的大多数脚本都是短横线命名法: https://github.com/npm/cli/blob/latest/package.json.

人们可能还想查看最依赖的 npm 包:https://www.npmjs.com/browse/dependent。许多顶级软件包都使用 kebab 大小写,但 lodash 是一个明显的例外,它使用冒号。

更新:还有一个便利方面比人们想象的更重要:输入不需要 Shift 键的分隔符会更愉快。至少在美国、英国和德国键盘上,这也适用于 kebab-case。


14
投票

您可以混合使用破折号和冒号。破折号用于链接单词,冒号用于对相似的脚本进行分组。示例:

  • lint:check
  • lint:fix:all
  • lint:fix:staged-only

0
投票

我创建了这个 VS Code 扩展,当您将鼠标悬停在包脚本上时,它会显示注释。如果您能尝试一下并提供反馈,我将不胜感激。谢谢。

https://marketplace.visualstudio.com/items?itemName=yingmin.package-scripts-hover

© www.soinside.com 2019 - 2024. All rights reserved.