Play中的TypeScript模块分辨率如何工作?

时间:2016-01-20 09:27:50

标签: playframework typescript sbt angular

我想在我的Play项目中使用带有TypeScript的Angular 2。我正在使用sbt-typescript pluginangular2 WebJAR。当Play提取WebJAR时,它会将其放入target/web/public/main/lib/angular2。我可以在app/assets/js/components/test.ts文件中执行的操作类似于

import {Component} from 'angular2/core';

但是tsc无法解决这个问题,我没有看到任何设置告诉它在哪里看。

目前这可能吗?只有TypeScript的东西让孩子项目更容易吗?

2 个答案:

答案 0 :(得分:1)

实际上目前可以从您的webjars依赖项中解析Javascript / Typescript模块。我创建了一个演示Play应用程序,展示了如何 见https://github.com/joost-de-vries/play-angular2-typescript

它使用不同的sbt-typescript plugin来自定义模块分辨率。因此解决了bpervan提到的缺点。

答案 1 :(得分:0)

我一直在努力解决同样的问题,直到我发现,目前,这是不可能的。

请参阅:https://github.com/ArpNetworking/sbt-typescript/issues/33

当前版本的TypeScript转换器不支持模块解析的自定义路径,并且看起来,直到2.0版才会出现。你可以在他们的github repo上的官方TypeScript路线图上查看它(我想在这里粘贴链接,但是SO不允许我)

我想,现在,在Play项目中使用angular2和TypeScript的唯一方法是让npm解析tsc的依赖关系。您仍然可以在Scala模板中使用WebJars(SuperManitu在1中留下了他的模板的链接,检查出来(再次,无法粘贴链接,抱歉))