javascript - 错误 TS2305:模块 @types/angular 没有导出的成员“cookies”
问题描述
我遇到了未在角度范围内定义 cookie 的问题。
npm run start
构建和启动应用程序就好了,但是当尝试运行npm test
执行jest
命令时,我收到了这个错误:
`测试套件无法运行 app/components/Component1/Component1.ts:1:10
- 错误 TS2305:模块 '"../../../../../node_modules/@types/angular"' 没有导出的成员 'cookies'。`
里面有Component1.ts
这个导入:import { cookies } from 'angular';
构建并运行 - 好的。测试 - 不行。
如果您知道问题可以隐藏在哪里,请帮助:) 谢谢。
我的 package.json:
{
"dependencies": {
...,
"angular": "^1.8.0",
"angular-cookies": "1.8.0",
"babel-polyfill": "^6.2.0",
...
},
"devDependencies": {
"@types/angular": "^1.8.0",
"@types/angular-cookies": "^1.8.0",
"@types/jest": "^26.0.19",
"angular-mock": "^1.0.0",
"angular-mocks": "^1.8.2",
"angularjs-jest": "^0.1.4",
"babel-core": "^6.24.1",
"babel-loader": "^7.0.0",
"jest": "^26.6.3",
"ts-jest": "^26.4.4",
...
}
}
解决方案
我的问题的解决方案是添加angular-cookies
到tsconfig.test.json
文件中。我仍然不明白为什么angular-cookies
因为源代码和生产构建从angular
包中获取类型和定义(并且通过 IDE 我可以链接到角度模块而不是 angular-cookies)。但这就是生活的全部 - 奥秘。
{
"extends": "./tsconfig.json",
"compilerOptions": {
"types": [
"node",
"jest",
"angular-cookies" --> THIS VERY LINE SOLVED MY ISSUE
]
},
"include": [
"index.d.ts",
"**/*.test.ts"
]
}
推荐阅读
- godot - 使用 Gdscript 使骨骼指向 Godot 中的另一个骨骼
- tags - 如何使用名称值标签运行测试?
- pandas - 使用 DataFrame.assign 创建多个新的 DataFrame 列并应用
- python-3.x - 线性规划:在 PYTHON 中使用 DocPlex 生成的所有解决方案的列表(使用 cplex 解决方案池失败)?
- c# - C#和Arduino之间通过蓝牙通信,接收到奇怪的数据
- docker - 高山图像中的 Crontab
- mysql - 如何在 SQL 脚本中声明变量?
- android - Kotlin android 从广播接收器中检索应用程序
- postgresql - 具有高共享读取的 postgreSQL 慢查询
- jhipster - jhipster-registry:spring cloud config conf with ssh throws 不是有效的私钥