在Angular 2应用程序

时间:2016-12-21 17:56:38

标签: jquery angular typescript

我有一个用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 - 编译完成看着   文件更改。

有任何想法如何解决这个问题?

2 个答案:

答案 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视频说起

时确实非常快

删除2件事:

  • typings文件夹
  • typings.json

我完全想念他是第一次。

此外,我的SystemJS缺少地图部分(我认为没有必要,但我想是必要的。)

SystemJS.config({
    map: {
        "jQuery": "node_modules/jquery/dist/jquery.min.js"
    },
    baseURL: '/',
    packages: {
        '/': {
            defaultExtension: 'js'
        }
    }
});

一旦我准备好所有东西,一切都会正常。