0
我有一个模块,期望从命令行调用,所以它使用yargs
处理命令行参数,并失败并提供帮助消息,如果它没有提供任何。如何编写可从命令行和模块使用的NodeJS模块?
但我还想从其他NodeJS模块(使用gulp
)调用此模块。如果我只是require(./mymodule)
,它将尝试解析命令行参数并失败。
一个显而易见的解决方案是将命令行位放入包含主模块的单独模块中。有其他人吗?是否有共同的模式?
编辑
,并有一个命名约定区分主模块封装器吗?
谢谢。问题我可能应该包括:模块和命令行包装器是否有一个命名约定? –
有趣的问题....当js代码被用作可执行文件,然后在顶部的'#!/ usr/bin/env节点'处添加一个hashbang时,它有时会忽略'.js'。文件。 如果你看看你的./node_modules/.bin目录,你有时会看到那里有js可执行文件遵循这种模式......比如'gulp'或'knex'或其他什么 – eblahm