我正在从这个例子中学习Angular 2 https://github.com/pkaul/maven-typescript-example
因此,在运行第3步(mvn jetty:run)之后,可运行的war文件夹将打包在example-webapp / target文件夹中。但是,有一个我不确定的文件。 在文件夹 example-webapp / target / example-webapp-0.1.0-SNAPSHOT / modules 下, require.js 文件,旧时间戳为2013-05-14
我想知道它来自何处以及它的用途。 我猜这个文件与example-webapp里面的pom.xml中定义的 requirejs-maven-plugin 插件有关。站立确认或更正。
<plugin>
<groupId>com.github.mcheely</groupId>
<artifactId>requirejs-maven-plugin</artifactId>
<version>1.0.4</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>optimize</goal>
</goals>
</execution>
</executions>
<configuration>
<skip>true</skip><!-- NOT ENABLED AS A DEFAULT -->
<configFile>${basedir}/src/build/js/optimize.js</configFile>
<filterConfig>true</filterConfig>
</configuration>
</plugin>
答案 0 :(得分:1)
文件require.js
来自Maven dependency:
<dependency> <groupId>org.jszip.redist</groupId> <artifactId>require</artifactId> <version>2.1.6</version> <type>jszip</type> </dependency>
项目使用jszip-maven-plugin
来处理JavaScript库,就像它们是标准的Maven依赖项一样(如Spring或其他):
当你想在
war
项目中创建JSZip模块或使用那些JSZip模块时,使用JSZip的Maven插件。
该插件的一大优势在于,不是手动复制和下载require.js
文件并将其放在webapp的正确位置,这使得构建完全自动且易于更新(您只需要更新依赖)。它与传统Java库的Maven依赖概念密切相关。
该插件将jszip
Maven Central unpack them and put them where configured的requirejs-maven-plugin
下载这些JavaScript库:
<plugin> <groupId>org.jszip.maven</groupId> <artifactId>jszip-maven-plugin</artifactId> <extensions>true</extensions> <configuration> <mappings> <!-- copy all JSZIP dependencies to directory "modules" --> <mapping> <select>*:*</select> <path>modules</path> </mapping> </mappings> </configuration> <!-- --> </plugin>
在这种情况下,它们会被复制到modules
目录,这就是您所看到的输出。 <select>*:*</select>
表示考虑所有jszip
个依赖项,<path>modules</path>
表示输出目录。
实际上,它与{{3}}无关,它可用于优化和压缩JavaScript文件。