2016-05-30 48 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文件複製到我的構建目錄並排除其他文件。如果這個答案適合你,請接受它。 –