2016-11-06 49 views
0

我使用Spring引導和角1,Maven和Wro4j一個小的web應用程序,我想給一個嘗試角2,我是在完全新的。問題涅槃Angular2與Wro4j

我使用Maven/Wro4j 1.8.0在編譯時縮小並得到一個單獨的js文件以獲得角度依賴關係,然後將其用在我的index.html頭文件中。雖然它適用於我的角度1應用程序,現在縮小失敗。我使用jsMin作爲處理器。處理webjar:angular__compiler/2.1.1/bundles/compiler.umd.js時失敗。

挖掘wro4j文檔,我發現ngAnnotate處理器,這可能是我的問題的解決方案。但我有兩個更多的問題有:

  • 我加了NG-註釋1.2.1到我的pom.xml因爲不滿意傳遞依賴於橡子(wro4j依賴性),但它失敗(NG-註釋1.2.1 POM取決於橡子[2.6.4,2.7),Maven中央沒有這樣的版本)。爲了克服這個問題,我編輯了ng-annotate pom來使用acorn 2.7.0,這可能不是最好的解決方案。
  • 讓我的依賴性確定並添加ngAnnotate的處理器列表(jsMin前)之後,我收到此錯誤信息:

處理器不支持在這種環境

看來,它會嘗試運行ng-annotate並且找不到它。 Wro4j文檔指出「實現假定所需的npm已安裝」。我認爲(錯誤地認爲)將ng-annotate webjar添加到pom就足夠了。我錯過了什麼?

注意:我真的想繼續讓Maven處理之前工作過的所有配置(Java和Js),而不是切換到js依賴解決方案。我從來沒有使用任何npm命令,也沒有咕嚕聲,也沒有涼亭,並且從未需要它。

回答

1

wro4j使用ng-annotate的方式,它只是執行項目文件夾中的命令ng-annotate

所以這可能是由於您的PATH變量沒有正確配置,並且沒有引用包含ng-annotate的文件夾是否通過webjar或npm安裝。

例如,如果您使用Eclipse配置,則可以在「環境」選項卡中重新設置PATH變量。

找出正確的路徑: 對於webjar,請搜索提取ng-annotate npm可執行文件的位置。 對於NPM,請打開一個終端,查看ng-annotate是否有效(它必須全局安裝,並且要使用npm install -g ng-annotate),然後顯示env變量:echo $PATH或可執行文件路徑:which ng-annotate

我有同樣的錯誤,在我的情況下,Maven沒有在PATH中引用/usr/local/bin

+0

感謝您的回答。我完全放棄了這個話題。我不知道我什麼時候可以試試這個,但是在此期間,你應該得到+1來複活這個帖子^^。 – Steph