流程和模块关键字剥离

Flow and module keyword stripping

要让 Flow 类型检查器处理多个文件,您需要导入和导出模块,但 Babel 的基本设置不会删除模块关键字,从而导致浏览器问题,例如

SyntaxError: export declarations may only appear at top level of a module

SyntaxError: import declarations may only appear at top level of a module

建议的解决方案是什么?

我的 babelrc:

{
  "plugins": [
    "transform-flow-strip-types"
  ]
}

Javascript 来源

export class MyClass {}

完全相同。

想要的输出是

class MyClass {}

transform-flow-strip-types 插件仅删除 Flow 语法扩展,但 import/export 是 ES2015 规范的一部分。要同时编译它们,您需要添加更多插件。 preset-es2015 将默认包含这些,或者您可以使用 babel-plugin-transform-es2015-modules-* 插件之一。希望这对您有所帮助!