如果我在ES6中开发了一个JavaScript库/插件,我们库的消费者就可以导入&使用ES6模块使用库:
import MyLibrary from 'mylibrary';
let myLibrary = new MyLibrary();
myLibrary.doStuff()
这非常有效,因为我们的模块捆绑整齐,不依赖于客户端的实现,也可以通过 npm 提供。然后,消费者有责任运行browserify
和babel
以使此代码在浏览器中可用(如有必要)。
但是,我们的一些消费者不使用ES6,并且不希望在构建过程中包含转换。
构建ES6代码以使其可供ES5使用者使用的最佳方法是什么?在这种情况下,消费者希望得到类似的东西:
var myLibrary = myLibrary.create();
myLibrary.doStuff();