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"))
资产编译步骤正常。但之后我得到了重复的映射错误(见下文)。似乎已编译的Assets作为webjar依赖项添加到TestAssets编译而不应用excludefilter 。这将解释重复映射。
有没有办法在我的项目中使用它?或者这是sbt-web的缺点? (如果有必要的话,我愿意为pullrequest做一个修复工作)
你可以找到我的Activator示例play-angular2-typescript项目here。
这是重复的映射错误:
[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