如果您想编写一个选项解析器,并且有一个好的选择,那么有两种方法可以做到。 正确的方法和错误的方法。 错误的方法是坐下来编写选项解析器。 我们都做到了。 正确的方法是编写一个具有许多选项的复杂的可配置程序,以至于挫败了您的挫败感,只是试图全部管理它们,然后使用胶带式解决方案将其推迟到您完全了解问题的核心为止,最后捕捉并编写出色的选项解析器。 如果要编写选项解析器,请不要编写选项解析器。 编写程序包管理器,源控制系统,服务重新启动器或操作系统。 您可能不会得到其中一个很好的结果,但是如果您不放弃,并且您拖延不懈,努力不懈,那么您可能只会得到一个非常不错的选项解析器。 用法 // my-program.js var nopt = require ( "nopt" ) , Stream = require ( "stream" ) . Stream , path = require