有可能吗? 当我尝试在我的测试中导入Intern时这样做:
import * as registerSuite from 'intern!object'
然后我运行webpack来转换我的* .ts测试,我收到以下错误:
TS2307:找不到模块'intern!object'。
我应该添加一些打字吗?我是TypeScript的新手,而webpack和Intern都无法理解我所缺少的东西。
答案 0 :(得分:1)
是的,您需要在include
的{{1}}部分中添加intern typings的引用,described in this tutorial。
但这只会让你通过编译步骤。在运行时,您需要一个能够理解tsconfig.json
之类的模块引用的加载器,并以实习生希望它们工作的方式处理它们。
我不知道webpack是否存在任何此类加载器或插件,我只能在intern repo中找到有关它的一个问题,而且似乎没有任何解决方案。
一般来说,Intern 3依赖于与实习生捆绑在一起的dojo loader。试图使用其他装载机的人是独立的,并没有出现常见的解决方案。
对于实习生4(这是一个重大更新但尚未发布),有一个计划'remove loader dependency from Intern',但我不知道是否会做某些具体的事情(或者甚至需要做什么) )支持webpack。
答案 1 :(得分:1)
实际上,这是可能的,正如Dylan Schiemann所说 - SitePen的首席执行官,制作实习生的公司(如果我没有记错的话):https://www.sitepen.com/blog/2015/03/24/testing-typescript-with-intern/#comment-3280004472
这个概念的证明是Dojo 2项目,它也是由SitePen制作的:https://github.com/dojo/widget-core/ 它是在TypeScript中编写的,并使用webpack和Intern进行测试。
但遗憾的是,还没有关于如何做到这一点的文档教程。
Dylan还说,在Intern(v4)的下一个版本中,内部Intern的加载器将被移除,因此,这个问题将消失,但是Intern 4目前处于pre-beta状态,但相对稳定。 / p>