是否可以使用exports
关键字来访问模块内的导出值? (它是es6模块规范的一部分吗?)
它似乎与webpack和babel / commonjs模块一起正常工作,exports
关键字包含对所有导出方法的引用。
但我担心的是,这可能无效,也许这只是可能的,因为它是一个babel / commonjs环境。
此外,我不确定这会如何影响树抖动,因为现在无法确定实际使用哪些导出,因为bindMethods
方法可以动态访问此模块中的所有方法,而无需声明显式名称。
示例:
import bindMethods from 'module';
var binder = bindMethods(exports);
export function foo(value){
binder(value).bar();
}
export function bar(value){
binder(value).foo();
}
答案 0 :(得分:1)
是的,你说使用exports
是正确的,因为这不是有效的es6,只是因为babel将你的代码转换成commonjs而正常工作。
Webpack 1不支持树摇动,所以它不会导致任何问题。如果您禁用transform-es2015-modules-commonjs
并使用Webpack 2来查看它是否会影响树震动,那将会很有趣 - 我非常怀疑它会不会发生。