Javascript typescript无法导入lodash

Javascript typescript无法导入lodash,javascript,node.js,typescript,lodash,Javascript,Node.js,Typescript,Lodash,我有一个使用typescript并在node中运行的项目 我的package.json依赖项中安装了lodash 最初我是这样导入的: import _ from "lodash"; console.log(_) const lodash_1 = require("lodash"); console.log(lodash_1.default); 最初,这是有效的,它仍然适用于我的所有其他软件包。 但这一次不行。它编译得很好,但在运行时打印未定义的内容

我有一个使用typescript并在node中运行的项目

我的package.json依赖项中安装了lodash

最初我是这样导入的:

import _ from "lodash";
console.log(_)
const lodash_1 = require("lodash");
console.log(lodash_1.default);
最初,这是有效的,它仍然适用于我的所有其他软件包。 但这一次不行。它编译得很好,但在运行时打印未定义的内容

由此生成的js代码如下所示:

import _ from "lodash";
console.log(_)
const lodash_1 = require("lodash");
console.log(lodash_1.default);
.default
在lodash_1上不存在,因此它失败

我的解决方案是使用以下ts代码:

import { LoDashStatic } from "lodash";
const _: LoDashStatic = require("lodash");
console.log(_);
这将编译为:

const _ = require("lodash");
console.log(_);
。默认值为
,工作正常


为什么会发生这种情况?

你可以从“lodash”中导入
lodash
类似的
import*as uuuu\uuuu提醒你:现在已经是2020年末了,plain JS在这些天构建了大量的东西,几年前,我们需要jquery和lodash。如果你要开始一个新项目,最好检查一下你是否需要lodash,因为你几乎肯定不会再需要了。start导入也可以工作,而且更短,这很好。VS代码似乎不喜欢它,它建议将其转换为“默认导入”,这将生成带有星号的中断形式。Set--esModuleInterop