2016-05-30 49 views
1

我想用spring使用maven和angularjs2创建Web应用程序,并且希望在最后部署时创建war文件。
当我们安装angularjs2和angular-material2时,node_modules本身需要175mb。由于哪个战争档案会变得沉重。有没有办法使其大小最小化或跳过不需要的文件。我想只保留js文件并从node_modules中删除所有ts文件,但在每个angularjs文件夹中,都有多个js文件。所有文件夹中都有一个文件是index.js,这个文件也依赖于许多其他文件。现在我没有得到哪些所有js文件要保留,哪些都需要删除。有没有可用的工具或脚本可以为我做到这一点? 有没有其他的方式来实现这一目标?Spring + angularjs2 + war

+0

我认为'node_modules'文件仅用于开发时间。他们不需要运行最终的应用程序。 – Nikem

+0

是的。但是其中一些文件应该在应用程序中可用,否则浏览器将无法获得任何与angularjs相关的文件,页面将无法工作。 – Krishna

回答

1

您可以配置Maven的战争插件排除节点目录

<plugin> 
     <artifactId>maven-war-plugin</artifactId> 
     <version>2.6</version> 
     <configuration> 
      <packagingExcludes>node_modules/packagingExcludes> 
     </configuration> 
     </plugin> 

此外,我会建议使用咕噜或任务管理器,您的重要js文件复制到另一个文件夹,这样就可以排除整个node_modules forlder 。

+0

截至目前,我正在使用gulp。但我可以改变它咕噜。我在这里有一个问题。如果我使用grunt或gulp,它会照顾将所有必需的javascript文件自动复制到所需的文件夹,还是我需要指定文件名?如果我需要指定文件名,那么如何找出所有文件是必需的?角度相关的js文件位于node_modules内部。如果我跳过node_modules它的应用程序如何填充工作? – Krishna

+0

你只需要指定文件的模式,它会为你复制这些文件。 –

+0

我使用bower作为包管理器来管理我的js文件并使用grunt-bowercopy任务将min.js文件复制到我的构建目录并排除其他文件。如果这个答案适合你,请接受它。 –