我在基于NodeJS的JavaScript中实现了相当大的代码基础。我想尝试一下打字稿,并希望在打字稿中实现所有新模块。只是为了了解它的表现以及我喜欢这个想法。我确实需要能够随时恢复,所以我不想为迁移付出太多努力。
我开始使用WebStorm和Gulp来支持打字稿。我创建了一个新模块并使用了import / require组合。
import settings = require("./settings");
import _ = require("lodash-node");
通过这样做,我收到了一些错误。
Error:(22, 27) TS2307: Cannot find external module './settings'.
Error:(23, 20) TS2307: Cannot find external module 'lodash-node'.
这些模块没有打字稿定义文件,而且是普通的javascript模块(lodash显然是一个外部库)。我确实有一些依赖项,我不想手动创建定义,即使它们只是空的存根。如上所述,我确实希望尽可能简化集成。
是否有一般旗帜或类似的东西?
答案 0 :(得分:1)
最简单的方法(如果您不想要模块的类型信息)是写:
declare module "lodash-node" {
var notTyped: any; // naming is unimportant here
export = notTyped;
}
将其放在单独的.d.ts文件中,/// <reference>
。然后_
在您的实施文件中将是any
类型,并且编译器不会抱怨您不知道您正在谈论的模块。
答案 1 :(得分:0)
您可以使用webpack&#39; typescript-loader并从那里开始。确保将target: 'node'
放在您的webpack配置中,这样您就不会拥有所有浏览器垃圾。