2

Angular2 は、プロジェクト ソースへのよりモジュール化されたアプローチに移行しました。これは、サブモジュールのソース、html テンプレート、およびテストのすべてが 1 つのディレクトリにまとめられていることを意味します。アプリ、パブリック、およびテスト ディレクトリに分散する代わりに。

これは非常に理にかなったアプローチです。

そのために Play/sbt-web を設定しようとしています。私のプロジェクトには次の設定があります。

includeFilter in Assets in typescript:= GlobFilter("*.ts") | GlobFilter("*.tsx")
excludeFilter in Assets in typescript:= GlobFilter("*.spec.ts") | GlobFilter("*.mock.ts")

sourceDirectory in TestAssets := (sourceDirectory in Assets).value
includeFilter in TestAssets in typescript := GlobFilter("*.spec.ts") | GlobFilter("*.mock.ts")
excludeFilter in TestAssets in typescript := - (GlobFilter("*.spec.ts") | GlobFilter("*.mock.ts"))

アセットのコンパイル手順は正しく機能します。しかしその後、重複したマッピング エラーが発生します (以下を参照)。コンパイルされたアセットは、excludefilterを適用せずに TestAssets コンパイルに webjar 依存関係として追加されているようです。これにより、重複したマッピングが説明されます。

これを私のプロジェクトで機能させる方法はありますか? それとも、これは sbt-web の欠点ですか? (必要に応じて修正のためのプルリクエストに取り組んでいきます)

私の Activator の例の play-angular2-typescript プロジェクトはこちらにあります

これは重複マッピング エラーです。

[error] (web-assets-test:assets) Duplicate mappings:
[error]     /Users/joost1/source/play-angular2-typescript-template/target/web/public/test/public/app/app.ts
[error] from
[error]     /Users/joost1/source/play-angular2-typescript-template/app/assets/app/app.ts
[error]         /Users/joost1/source/play-angular2-typescript-template/target/web/web-modules/test/webjars/lib/play-angular2-typescript/app/app.ts
[error]     /Users/joost1/source/play-angular2-typescript-template/target/web/public/test/public/app/app.html
[error] from
[error]     /Users/joost1/source/play-angular2-typescript-template/app/assets/app/app.html
[error]         /Users/joost1/source/play-angular2-typescript-template/target/web/web-modules/test/webjars/lib/play-angular2-typescript/app/app.html
[error]     /Users/joost1/source/play-angular2-typescript-template/target/web/public/test/public/app/app.spec.ts
[error] from
[error]     /Users/joost1/source/play-angular2-typescript-template/app/assets/app/app.spec.ts
[error]         /Users/joost1/source/play-angular2-typescript-template/target/web/web-modules/test/webjars/lib/play-angular2-typescript/app/app.spec.ts
4

0 に答える 0