【问题标题】:How to use Intern with TypeScript and webpack?如何在 TypeScript 和 webpack 中使用 Intern?
【发布时间】:2017-09-26 12:04:46
【问题描述】:

有可能吗? 当我尝试在我的测试中像这样导入实习生时:

import * as registerSuite from 'intern!object'

然后我运行 webpack 来转译我的 *.ts 测试,我收到以下错误:

TS2307:找不到模块“实习生!对象”。

我应该添加一些类型吗?我是 TypeScript、webpack 和实习生的新手——无法理解我缺少什么。

【问题讨论】:

    标签: javascript typescript webpack intern


    【解决方案1】:

    是的,您需要在tsconfig.jsoninclude 部分添加对intern typings 的引用,如described in this tutorial

    但这只会让您通过编译步骤。在运行时,您需要一个能够理解模块引用(如 intern!object)的加载器,并完全按照实习生期望它们工作的方式处理它们。

    不知道webpack有没有这样的加载器或插件,我只能在intern repo找到一个问题,而且似乎没有任何解决方案。

    一般来说,实习生 3 依赖于与实习生捆绑的 dojo 加载程序。尝试使用其他加载器的人都是靠自己,没有出现通用的解决方案。

    实习生4(这是一个重大更新,尚未发布),有一个'remove loader dependency from Intern'的计划,但我不知道是否会做一些具体的事情(甚至需要做)支持 webpack。

    【讨论】:

      【解决方案2】:

      实际上,这是可能的,正如 Dylan Schiemann 所说——SitePen 的 CEO,这家公司是实习生的公司(如果我没记错的话):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 状态,虽然相对稳定。

      【讨论】:

        猜你喜欢
        • 2017-05-27
        • 2016-11-11
        • 1970-01-01
        • 1970-01-01
        • 2018-12-16
        • 1970-01-01
        • 1970-01-01
        • 2016-11-17
        • 2017-08-21
        相关资源
        最近更新 更多