【问题标题】:typescript installs lodash incorrectlytypescript 错误地安装了 lodash
【发布时间】:2025-11-21 17:10:02
【问题描述】:

我一直在用 .. 安装 lodash

typings install dt~lodash --global --save

直到最近才完美工作,但现在我明白了..

尝试将“lodash”编译为全局模块,但它看起来像一个 外部模块。您需要删除全局选项才能继续。

所以我做了..

typings install dt~lodash --save

这允许安装继续进行。

但现在在我的日志中我得到了错误..

typings\modules\lodash\index.d.ts(243,1):错误 TS1316:全局模块导出可能只出现在顶层。

这是一个由打字生成的文件。第 243 行看起来像..

export as namespace _;

Webstorm IDE 也给出了完全相同的错误。

知道如何解决这个问题吗?谢谢

【问题讨论】:

  • 从今天开始就是这样。我有一个坏主意,要删除并重新安装所有节点模块和定义文件,并且我的构建无法再工作(几周都可以正常工作)......看起来某个库在某处坏了,但无法弄清楚哪个一:(你找到什么了吗?
  • 恐怕无法帮助我,为了将来参考,使用 npm shrinkwrap 锁定你的 npm 模块,至于 typescript 定义,我被卡住了

标签: angular typescript lodash


【解决方案1】:

你也可以安装lodash,如下:

npm install --save @types/lodash

然后,在您的 .ts 文件中:

要么:

import * as _ from "lodash";

或者

import _ from "lodash";

【讨论】:

  • 好的,我终于明白你的答案了。最近更新了许多定义文件,没有任何标签或版本,使我的项目崩溃。使用类型,你知道是否可以引用特定的提交吗?类似的东西不起作用“lodash”:“registry:dt/lodash#9e1555c7ff12e04e7de962a22b1d914c4eb32a57”
  • 好问题克洛伊
【解决方案2】:

要强制下载以前版本的 lodash ts 定义文件,两种语法都适用于我:

{
    "globalDependencies": {
        "lodash": "github:DefinitelyTyped/DefinitelyTyped/lodash/index.d.ts#253e456e3c0bf4bd34afaceb7dcbae282da14066",
    }
}

其中253e456e3c0bf4bd34afaceb7dcbae282da14066是github中的提交哈希码, 或

{
    "globalDependencies": {
        "lodash": "registry:dt/lodash#4.14.0+20161110215204",
    }
}

4.14.0+20161110215204 应该是标记版本,但不确定它是如何生成的。我在最后一个工作下载的 .d.ts 版本的 typings/globals/lodash/typings.json 文件中找到了它。

【讨论】: