如何解决此类型冲突?

时间:2017-08-21 22:35:42

标签: jquery node.js typescript npm

我正在执行grunt任务" typescriptUsingTsConfig"我收到以下错误:

Conflicting definitions for 'jquery' found at:

 'C:/CODE/Platts.Bentek.Web.Benport/src/Platts.Bentek.Web.Benport.Website/
node_modules/ng2-select2/node_modules/@types/jquery/index.d.ts' 

---and---

 'C:/CODE/Platts.Bentek.Web.Benport/src/Platts.Bentek.Web.Benport.Website/
node_modules/@types/jquery/index.d.ts'. 

Consider installing a specific version of this library to resolve the conflict.

解决这场冲突的好策略是什么?我的主要应用程序是绿地开发,因此它可以使用最新版本的jQuery。但是,通过深入了解ng2-select2的node_modules,它看起来像是使用了jQuery v2.0.39。有没有办法使用两个版本的jQuery?或者主应用受限于子组件使用的最低版本的jQuery?

更新

我假设在应用程序根级别存在jquery @types配置,并且作为select2控件b / c中的嵌套实现,错误消息表明这两个位置存在冲突的定义。所以我尝试从app根目录中删除jquery @types目录,但现在ts grunt任务返回以下错误:

"Warning: node_modules/@types/select2/index.d.ts(8,1): error TS2688: Cannot find type definition file for 'jquery'. Use --force to continue." 

因此select2 / index.d.ts中存在一个引用,它指向一个jquery @types目录。但是当jquery @types目录存在时,ts grunt任务会因版本不匹配而出错。知道这个配置如何达到这一点或如何修复?

0 个答案:

没有答案