# frontend-maven-plugin

官网介绍 A Maven plugin that downloads/installs Node and NPM locally, runs NPM install, Grunt, Gulp and/or Karma

即: 用户下载和安装 node 和 npm 的 maven 插件,并运行 node 命令

用途: 将 node 项目(如 vue,angular,react) 打包到maven项目中

官网地址 https://www.worldlink.com.cn/en/osdir/frontend-maven-plugin.html (opens new window)

示例

<plugin>
    <groupId>com.github.eirslett</groupId>
    <artifactId>frontend-maven-plugin</artifactId>
    <executions>
      <execution>
        <id>install node and yarn</id>
        <goals>
          <goal>install-node-and-yarn</goal>
        </goals>
        <configuration>
          <nodeVersion>v10.15.3</nodeVersion>
          <yarnVersion>v1.7.0</yarnVersion>
        </configuration>
      </execution>
      <execution>
        <id>yarn install</id>
        <goals>
          <goal>yarn</goal>
        </goals>
      </execution>
      <execution>
        <id>yarn build</id>
        <goals>
          <goal>yarn</goal>
        </goals>
        <configuration>
          <arguments>build</arguments>
        </configuration>
      </execution>
    </executions>
  </plugin>
  <plugin>
    <artifactId>maven-resources-plugin</artifactId>
    <executions>
      <execution>
        <id>copy-resources</id>
        <phase>prepare-package</phase>
        <goals>
          <goal>copy-resources</goal>
        </goals>
        <configuration>
          <outputDirectory>${project.build.directory}/classes/static</outputDirectory>
          <resources>
            <resource>
              <directory>${basedir}/public</directory>
            </resource>
          </resources>
        </configuration>
      </execution>
    </executions>
  </plugin>

默认会在 github 上下载所需的文件

修改为

<configuration>
  <nodeVersion>v10.15.3</nodeVersion>
  <yarnVersion>v1.7.0</yarnVersion>
  <nodeDownloadRoot>http://npm.taobao.org/mirrors/node/</nodeDownloadRoot>
  <npmDownloadRoot>https://npm.taobao.org/dist/</npmDownloadRoot>
  <yarnDownloadRoot>https://npm.taobao.org/mirrors/yarn/</yarnDownloadRoot>
</configuration>

默认的执行阶段

<!-- optional: default phase is "generate-resources" -->
<phase>generate-resources</phase>

总结

实现将node项目与spring boot的整合.