使用Maven处理多个javascript文件&;茉莉花

使用Maven处理多个javascript文件&;茉莉花,javascript,maven,jasmine,Javascript,Maven,Jasmine,我正在将一个现有的javascript项目重构为Maven,在处理不同的文件时遇到了一些问题 我正在使用jasmine maven插件,它在我的pom.xml中看起来有点像这样: <plugin> <groupId>com.github.searls</groupId> <artifactId>jasmine-maven-plugin</artifactId>

我正在将一个现有的javascript项目重构为Maven,在处理不同的文件时遇到了一些问题

我正在使用jasmine maven插件,它在我的pom.xml中看起来有点像这样:

        <plugin>
            <groupId>com.github.searls</groupId>
            <artifactId>jasmine-maven-plugin</artifactId>
            <version>1.0.1-beta-6</version>
            <executions>
                <execution>
                    <goals>
                        <goal>generateManualRunner</goal>
                        <goal>resources</goal>
                        <goal>testResources</goal>
                        <goal>test</goal>
                        <goal>preparePackage</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <jsSrcDir>src/main/javascript</jsSrcDir>
                <jsTestSrcDir>src/test/javascript</jsTestSrcDir>
                <preloadSources>
                    <preloadSource>lib/jquery-1.9.1.min.js</preloadSource>
                </preloadSources>
            </configuration>
        </plugin>

com.github.searls
jasmine maven插件
1.0.1-beta-6
发电机自动转轮
资源
测试资源
测试
预包装
src/main/javascript
src/test/javascript
lib/jquery-1.9.1.min.js
我最初有一个名为master.js的.js文件。如您所见,它需要预加载
jquery-1.9.1.min.js
,否则我会得到“构建失败”。当我从终端执行
mvn compile
时,它会检查文件并创建一个模糊的master.min.js文件(没有错误)-我也在使用
yuicompressor maven plugin

现在我需要向项目中添加更多文件。master.js大约有400行长,在我的项目的每一页上都是必需的。其他要添加的文件很大,有时超过1000行(但有很多注释和文档),并且特定于某些页面。例如,一个仅用于登录,而其他仅用于管理目的

是否有一种方法可以将这些文件添加到maven构建中,并使用依赖性(或预加载)my master.js文件。这样做的原因是

  • 还有一些全局变量和方法是从其他js页面调用/使用的(别担心,这些变量和方法没有混淆)
  • 我不希望在任何地方有重复的代码
  • 我可以创建一个很长的文件,但是这很好;
    • 这可能会影响加载时间
    • 管理代码要困难得多。(可能在编译时可以合并各个文件)

如果有人对这一主题有任何想法或建议,这将非常有用,因为我希望遵循最佳实践,而不是在将来遇到复杂问题。

最好实施struts2。它为配置文件struts.xml提供操作设置。在那里可以定义平铺映射。在平铺映射中,可以扩展包含所有公共多个文件的母版页。它与maven项目一起高效地工作。