2

Angular2 已经转向更模块化的方法来处理项目源。这意味着所有子模块源、html 模板和测试都在一个目录中。而不是分布在应用程序、公共和测试目录中。

这是一种很有意义的方法。

我正在尝试为此配置 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"))

资产编译步骤正常工作。但之后我得到一个重复的映射错误(见下文)。似乎已编译的资产作为 webjar 依赖项添加到 TestAssets 编译中,而没有应用 excludefilter。这将解释重复映射。

有没有办法让它在我的项目中工作?或者这是 sbt-web 的一个缺点?(如有必要,我愿意处理 pullrequest 以进行修复)

你可以在这里找到我的 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