globalDevDependencies 未按预期工作

我正在使用 Typescript 2.4.0 并且在我的中有以下内容package.json

"globalDevDependencies": {
  "chai": "^3.5.0",
  "mocha": "^3.4.2",
  "@types/chai": "^3.0.0",
  "@types/mocha": "^2.2.41"
},

然后我有一个测试文件test-spec.ts,它开始为:

const expect = chai.expect;

但是,当我尝试编译它时,它会抱怨“未定义 chai”。我期待我的全局 deps 引用会自动将它带入全局命名空间。我也尝试更改为globalDependencies部分,但也出现了相同的错误。

也许我不明白这些依赖块提供了什么。

工会的

AFAIK,npm 中没有globalDependenciesglobalDevDependencies

您需要的只是使用 npm 安装类型:

npm install -D @types/chai @types/mocha

有了这个,您应该能够chai.expect像示例中那样访问

@types/mocha不会在全局命名空间中导出自身。要解决此问题,您需要执行类似于以下内容的全局增强:

// custom-typings/mocha.d.ts
import mocha = require('mocha')
declare global {
 type describe = mocha.describe
  ...
}

// tsconfig.json
{
  "include": [
    "custom-typings"
  ]
}

您可能需要对全局增强进行一些工作才能使其正确。我已经有一段时间没有使用“摩卡咖啡”了。:)

以下是有关全局增强的信息:

https://www.typescriptlang.org/docs/handbook/declaration-merging.html

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章