我想制作一个使用ES6的全局可安装NPM包。为此,我认为我已使用bin/scriptname
设置#!/usr/bin/env babel-node
(这也需要最终用户安装babel
)。这是否有效,或者是否有其他可行的更有效的方法呢?
答案 0 :(得分:2)
了解像coffee-script
这样的其他编译项目是如何做到的。通常你有一个可执行的bin文件,除了需要编译的lib文件之外什么都不做。
这样的事情:
project/
bin/
project
lib/
project.js
src/
project.babel
您的/bin/project
看起来像是:
#!/usr/bin/env node
require('../lib/project.js')
只要将/src/project.babel
编译为/lib/project.js
且它们都保持同步,它就应该有效。
执行此操作的两种方法是使用构建系统like webpack进行监视和重新编译,或者编写npm prepublish script以仅在发布程序包时进行编译。