在Node.JS中编写CLI时,你是否总是回退到向后兼容的代码?

我更喜欢ES6的语法,并且已经习惯了语法,但是,在为公共消费(甚至是非JavaScript的开发人员)开发node.js中的CLI时,应该总是回退到与真正的旧版本兼容的代码的Node.JS,说0.6,因为我不能确定用户在他的系统上安装了什么Node.JS版本。

确保与不一定只由熟悉Node.JS的用户组成的用户具有最大的兼容性的一个好的和/或常见的做法是什么?

所以,这更多是一个意见问题,所以我的意见是:

如果您打算通过NPM分发您的CLI应用程序,那么您应该确保您的CLI在当前的LTS版本的节点上运行。 这意味着在这个答案的时候,你应该支持节点4/5: https : //github.com/nodejs/LTS

现在,理想情况下,对于CLI应用程序,您不会通过NPM进行分发。 这里的原因是有很多人可能会发现你的CLI很有用,其中许多不是节点开发者。

我更喜欢捆绑我的CLI应用程序进行分发,以便在沙盒环境中包含Node来运行CLI。 通过这种方式:您可以编写您的CLI,并使用您想要的任何版本的节点,并且您的用户可以安装它,而不需要知道什么节点。