我正在开发使用npm注册的两个节点包,并使用es6语法。 每个包只有一个es6模块导出一个类。
A
没有依赖关系B
取决于A
A类
export default class A {...}
B类
import A from 'A'
export default class B {...}
每个包具有以下结构
modules/
index.js (es6 source)
index.js (commonjs source)
es6/index.js
问题
我想给我的A和B包的用户选择使用es6(通过导入B类本身将导入一个es6类而不是es5A)或es5源(通过要求es5函数B本身需要es5函数) A):实现它的最佳方法是什么?
答案 0 :(得分:1)
我要做的是有两个单独的版本(两个独立的github项目)
原因在于,目前最好避免将尚未过渡到es6的人与es6文件混淆。将来,在一两年内,es5版本将变得不必要。您希望能够在不显着更改文件组织的情况下停止对es5版本的支持。
在es6版本中,考虑将文件命名为index.es6.js。这将有助于防止在不支持es6代码的环境中意外引用es6代码。