0

Spring Boot と Angular 1、Maven と Wro4j を使用した小さな Web アプリがあり、まったく新しい Angular 2 を試してみたいと思っています。

Maven/Wro4j 1.8.0 を使用してコンパイル時に縮小し、Angular 依存関係用の単一の js ファイルを取得します。これを index.html ヘッダーで使用します。私のangular 1アプリでは機能しましたが、現在は縮小に失敗しています。jsMinプロセッサーとして使用しています。を処理すると失敗しますwebjar:angular__compiler/2.1.1/bundles/compiler.umd.js

wro4j doc を掘り下げると、ngAnnotateプロセッサが見つかりました。これが問題の解決策になる可能性があります。しかし、さらに2つの問題があります。

  • pom.xml (wro4j 依存関係) に ng-annotate 1.2.1 を追加しましたが、どんぐりへの推移的な依存関係が満たされていないため失敗します (ng-annotate 1.2.1 pom はどんぐり [2.6.4,2.7 に依存します)、そしてMaven Central にはそのようなバージョンはありません)。これを回避するために、ng-annotate pom を編集して acorn 2.7.0 を使用しましたが、これは最善の解決策ではない可能性があります。
  • 依存関係を OK にngAnnotateしてプロセッサ リストに追加した後 (前にjsMin)、次のエラー メッセージが表示されます。

プロセッサはこの環境ではサポートされていません

ng-annotate を実行しようとしても見つからないようです。Wro4j のドキュメントには、「実装は、必要な npm がインストールされていることを前提としています」と記載されています。ng-annotate webjar を pom に追加するだけで十分だと思いました (間違っているようです)。私は何を取りこぼしたか?

注: js 依存関係ソリューションに切り替える代わりに、以前は機能していたすべての構成 (Java および Js) を Maven に処理させたいと思っています。私は npm コマンドも、grunt も、bower も使用したことがなく、これまで必要もありませんでした。

4

1 に答える 1

1

wro4j が ng-annotate で動作する方法は、単にng-annotateプロジェクト フォルダーでコマンドを実行するだけです。

したがって、PATH 変数が正しく構成されておらず、webjar または npm を介してインストールするかどうかにかかわらず、ng-annotate を含むフォルダーを参照していないことが原因である可能性があります。

たとえば、Eclipse 構成を使用する場合、「環境」タブで PATH 変数を再設定できます。

正しいパスを見つけるには: webjar の場合、ng-annotate npm 実行可能ファイルが抽出された場所を検索します。NPM の場合、ターミナルを開き、ng-annotate が機能するかどうかを確認し (グローバルにインストールする必要がありますnpm install -g ng-annotate)、env variable:echo $PATH または実行可能ファイルのパスを表示しますwhich ng-annotate

同じエラーが発生しましたが、私の場合、Maven は/usr/local/binPATH で参照されていませんでした。

于 2017-01-14T06:06:10.403 に答える