我有一个用npm管理的Angular 2项目,我最近跑了
typings install dt~jquery --save --global
将JQuery类型定义添加到我的项目中。
npm然后按预期将此类型定义文件下载到目录node_modules。
现在的问题是,Typescript编译器(使用npm run tsc:w
)抱怨:
$ npm run tsc:w
node_modules/@types/jquery/index.d.ts(3246,5):错误TS2300:重复 标识符'export ='。 typings / globals / jquery / index.d.ts(601,5):错误 TS2374:重复的字符串索引签名。 typings / globals / jquery / index.d.ts(2850,5):错误TS2374:重复 字符串索引签名。分型/全局/ jquery的/ index.d.ts(2851,5): 错误TS2375:重复的数字索引签名。 typings / globals / jquery / index.d.ts(3224,5):错误TS2300:重复 标识符'export ='。 18:48:59 - 编译完成看着 文件更改。
有任何想法如何解决这个问题?
答案 0 :(得分:3)
Transpiler会出现重复的定义错误,因为您似乎已将定义文件安装到项目的多个位置:
node_modules/@types/jquery/index.d.ts
typings/globals/jquery/index.d.ts
尝试通过键入以下行来卸载@types/jquery
模块:
npm remove @types/jquery --save-dev
答案 1 :(得分:0)
我有同样的错误。我在打字稿上学习udemy类。
他先对typings
进行了解释,然后对@types
进行了解释,但是在他对@types视频说起
typings
文件夹typings.json
我完全想念他是第一次。
此外,我的SystemJS缺少地图部分(我认为没有必要,但我想是必要的。)
SystemJS.config({
map: {
"jQuery": "node_modules/jquery/dist/jquery.min.js"
},
baseURL: '/',
packages: {
'/': {
defaultExtension: 'js'
}
}
});
一旦我准备好所有东西,一切都会正常。