【问题标题】:Flow and module keyword stripping流和模块关键字剥离
【发布时间】:2016-12-20 07:04:05
【问题描述】:

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

语法错误:导出声明​​只能出现在模块的顶层

语法错误:导入声明只能出现在模块的顶层

对此有什么建议的解决方案?

我的 babelrc:

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

Javascript 源代码

export class MyClass {}

得到完全一样的转换。

想要的输出是

class MyClass {}

【问题讨论】:

  • export class MyClass {} 是 ES6,不是 Flow,Flow 只知道如何处理 ES6。

标签: module babeljs flowtype


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2020-08-22
    • 2017-03-03
    • 1970-01-01
    • 1970-01-01
    • 2020-08-28
    • 2018-08-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多