【问题标题】:babel-maven-plugin not transpiling spread operator to ES5babel-maven-plugin 没有将扩展运算符转换为 ES5
【发布时间】:2022-01-01 04:58:51
【问题描述】:

我正在使用 DOJO 工具包,在升级以使用闭包编译器后,我注意到我需要在 dojo 构建工具完成工作之前转译为 ES5,以便利用更新的 ES6+ 功能。

所以我使用babel-maven-plugin 来完成此操作。

除了...spread 运算符没有进行转译外,一切正常。

我是否还需要下载@babel/preset-env 软件包才能设置preset 选项?还是有我遗漏的选项?

【问题讨论】:

    标签: ecmascript-6 babeljs transpiler


    【解决方案1】:

    进一步发现后无需下载任何预设包。

    babel-standalone 通过其 API 接收预设选项为defined here,并在babel-maven-plugin here 中使用。

    预设选项不会像.babelrc 配置文件中定义的那样传递给 Babel API。它在没有preset- 前缀的情况下传入。因此,要获得@babel/preset-env 预设选项,您只需传入env

    因此,为了完善这一点,以下是常用预设以及如何将它们传递给 API:

    • @babel/preset-env --> env
    • @babel/preset-react --> react
    • @babel/preset-flow --> flow
    • @babel/preset-typescript --> typescript

    所以为了使用babel-maven-plugin,我需要如下设置pom.xml

    <plugin>
        <groupId>com.jarslab.maven</groupId>
        <artifactId>babel-maven-plugin</artifactId>
        <version>1.6</version>
        <executions>
            <execution>
                <id>js-transpile</id>
                <phase>process-resources</phase>
                <goals>
                    <goal>babel</goal>
                </goals>
                <configuration>
                    <verbose>true</verbose>                                  
                    <babelSrc>./js/babel/babel.min.js</babelSrc>
                    <sourceDir>./js</sourceDir>
                    <targetDir>./js</targetDir>
                    <presets>env</presets>
                </configuration>
            </execution>
        </executions>
    </plugin>
    

    【讨论】:

      猜你喜欢
      • 2020-05-29
      • 2021-08-18
      • 2017-11-05
      • 2021-08-02
      • 2017-12-30
      • 2015-04-16
      • 2018-08-24
      • 1970-01-01
      • 2017-08-07
      相关资源
      最近更新 更多