如何使用 qunit 在 TypeScript 中将函数参数声明为 "QUnit" 类型?

How to declare a function parameter as the "QUnit" type in TypeScript with qunit?

我正在使用 MIT 许可的 QUnit 部分用 TypeScript 编写的项目。我有一些 TS 函数 接受 QUnit 作为参数并希望将它们键入为它的接口 来自 the typing

例如:

import { QUnit } from "qunit";


export function run_tests(q: QUnit)
{
    q.module((a) => { ... });
}

但是,当我尝试时,出现了这个错误:

tsc --project lib/typescript/www/tsconfig.json
src/ts/web-fc-solve-tests.ts(12,23): error TS2306: File '/home/shlomif/progs/fre
ecell/git/fc-solve/fc-solve/site/wml/node_modules/@types/qunit/index.d.ts' is no
t a module.

这是我的代码(注意分支):https://github.com/shlomif/fc-solve/tree/qunit-typescript - 它在 fc-solve/site/wml 子目录下。

我的tsconfig.json是:

{
  "compilerOptions": {
      "baseUrl": ".",
      "esModuleInterop": true,
      "module": "amd",
      "moduleResolution": "node",
      "noImplicitReturns": true,
      "outDir": "../../../lib/out-babel/js",
      "paths": {
          "big-integer": ["node_modules/big-integer/BigInteger.d.ts"],
          "qunit": ["node_modules/@types/qunit"]
      },
      "target":"es6"
  },
  "include": ["../../../src/ts/**/*.ts"]
}

感谢您的帮助。

如果您只需要打字,那么您只需要使用 npm 安装 qunit 的 @types 库就可以了,并且完全省略 import 语句。