【问题标题】:TypeScript Errors in a Javascript Project that has no TypeScript files没有 TypeScript 文件的 Javascript 项目中的 TypeScript 错误
【发布时间】:2017-03-29 04:34:41
【问题描述】:

我不确定这里发生了什么,但我有一个 node.js 项目(类型:javascript),其中没有 ts 文件(如图),它抛出 3 个打字稿错误:

Error   TS2304  Cannot find name 'object'.
Error   TS2428  All declarations of 'WeakMap' must have identical type parameters.
Error   TS2304  Cannot find name 'object'.

所有这 3 个都与 lodash 有关。我不太确定我在这里做什么,甚至不知道要实际搜索什么,但我偶然发现了一些引用 tsconfig 文件或回滚 lodash 版本的修复,但其中大部分都是旧的。最重要的是,我不知道为什么我什至需要它,因为我对 typescript 完全没有做任何事情......

有人有什么想法吗?

【问题讨论】:

    标签: javascript node.js visual-studio-2017 typescript-typings


    【解决方案1】:

    我在使用 JQuery 版本 2.1.4 的现有 vanilla Javascript 项目开始工作时遇到了同样的问题,我想在这个项目中使用最新版本的 JQuery、Typescript 和 Webpack,但是当我尝试导入一些 Typescript 时仍然失败将代码转换为纯 Javascript 文件。而在这个js文件中,之前的开发者在window对象中添加了一个名为Map的类

    $(function () {
        window.Map = function ()...;
    });
    

    这与 es6 Map 本机对象冲突,并且我一直收到不正确的参数传递类型的错误,然后我删除了我尝试使用的最新 jquery 版本,并继续使用开发人员最初使用的相同 jquery 版本,它再次工作。我仍然不知道为什么使用最新的 jquery 版本会导致错误。

    不确定是否有帮助

    【讨论】:

    • 目前我什至无法让错误出现,而且我没有进行任何更改。如果/当它们再次弹出时,我将注释掉所有 jquery 引用并查看它是否消失。感谢您的输入。 ==EDIT== 当我输入时,所有错误都弹出了。我继续从项目中取消包含 jquery 并注释掉所有对它的引用......没有变化
    • 你升级了吗?
    【解决方案2】:

    您应该将@types/lodash 降级到版本4.14.50

    在这里查看我的答案:In Angular4 - How do I add lodash and do a build without errors

    【讨论】:

      猜你喜欢
      • 2022-10-22
      • 1970-01-01
      • 1970-01-01
      • 2016-11-22
      • 1970-01-01
      • 2019-08-13
      • 2021-04-29
      • 1970-01-01
      • 2012-10-11
      相关资源
      最近更新 更多