Eve*_*ert 5 javascript babeljs
深入研究@babel/core包,几乎每个转译的 .js 文件都以以下行结尾:
0 && 0
Run Code Online (Sandbox Code Playgroud)
这样做的目的是什么?
例如,请参阅transpiler-ast.js ,即transpiler-ast.ts的转译。
我看到这个0 && 0东西是从 version 添加的7.18.6。来自babel 配置注释:
0 && exports.foo = 0为指定的导出注入提示,以帮助 Node.js CJS-ESM 互操作。仅当在模式下将 ESM 重新导出到 CJS 时才需要这样做lazy。
因此,这表明添加它是为了帮助理解当 ECMAScript 模块在模式下重新导出到 CommonJS 模块时可编译的 Node.js CommonJS 模块lazy。