我有一个使用打字稿并在node中运行的项目。
我对package.json的依赖项中有破折号。
我最初是这样导入的:
import _ from "lodash";
console.log(_)
最初,此方法有效,并且在我所有其他软件包中仍然有效。 但是这不是。它可以很好地编译,但是在运行时打印未定义。
由此产生的js代码如下:
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(_);
否.default
,它工作正常。
为什么会这样?