babel-maven-plugin 没有将传播运算符转换为 ES5
babel-maven-plugin not transpiling spread operator to ES5
我正在使用 DOJO 工具包,在升级为使用闭包编译器之后,我注意到我需要在 dojo build util 执行它的工作之前转换为 ES5,以便利用更新的 ES6+ 功能。
所以我正在使用 babel-maven-plugin
来完成这个。
除 ...spread
运算符未转译外,一切正常。
我还需要下载 @babel/preset-env
软件包来设置 preset
选项吗?还是我缺少一个选项?
进一步发现不需要下载任何预设包
babel-standalone
通过其 API 作为 defined here and use in the 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>
我正在使用 DOJO 工具包,在升级为使用闭包编译器之后,我注意到我需要在 dojo build util 执行它的工作之前转换为 ES5,以便利用更新的 ES6+ 功能。
所以我正在使用 babel-maven-plugin
来完成这个。
除 ...spread
运算符未转译外,一切正常。
我还需要下载 @babel/preset-env
软件包来设置 preset
选项吗?还是我缺少一个选项?
进一步发现不需要下载任何预设包
babel-standalone
通过其 API 作为 defined here and use in the 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>