【问题标题】:Compilation error after integrating JQuery in Angular 2 app在 Angular 2 应用程序中集成 JQuery 后编译错误
【发布时间】:2017-05-07 05:52:34
【问题描述】:

我有一个使用 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:重复 标识符“出口=”。打字/全局/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:重复 标识符“出口=”。 18:48:59 - 编译完成。关注 文件更改。

有什么办法解决这个问题吗?

【问题讨论】:

    标签: jquery angular typescript


    【解决方案1】:

    Transpiler 给出重复定义错误,因为您似乎已将定义文件安装到项目中的多个位置:

    node_modules/@types/jquery/index.d.ts
    typings/globals/jquery/index.d.ts
    

    尝试通过键入以下行来卸载@types/jquery 模块:

    npm remove @types/jquery --save-dev
    

    【讨论】:

      【解决方案2】:

      我有同样的错误。我正在关注打字稿上的 udemy 课程。

      他解释了typings,然后是@types,但在@types 视频的开头他说的非常快

      删除两件事:

      • typings 文件夹
      • typings.json

      我完全想念他第一次这么说。

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

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

      一切就绪后,一切正常。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-06-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-08-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多