globalDevDependencies 未按预期工作
globalDevDependencies not working as expected
我使用的是 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 is not defined"。我期望我的全局 deps 引用会自动将其带入全局命名空间。我也尝试更改为 globalDependencies
部分,但也出现了同样的错误。
也许我不明白这些依赖块提供了什么。
据我所知,npm 中没有 globalDependencies
或 globalDevDependencies
。
你只需要使用 npm 安装 typings:
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"
]
}
您可能需要对全局增强进行一些工作才能使其正确。
我已经有一段时间没有使用 'mocha' 了。 :)
这里是关于全局增强的信息:
https://www.typescriptlang.org/docs/handbook/declaration-merging.html
我使用的是 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 is not defined"。我期望我的全局 deps 引用会自动将其带入全局命名空间。我也尝试更改为 globalDependencies
部分,但也出现了同样的错误。
也许我不明白这些依赖块提供了什么。
据我所知,npm 中没有 globalDependencies
或 globalDevDependencies
。
你只需要使用 npm 安装 typings:
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"
]
}
您可能需要对全局增强进行一些工作才能使其正确。 我已经有一段时间没有使用 'mocha' 了。 :)
这里是关于全局增强的信息:
https://www.typescriptlang.org/docs/handbook/declaration-merging.html