如何在大型nodeJS代码的基础上逐步引入typescript
How to introduce typescript on a big nodeJS code basis step by step?
我确实拥有相当大的基于NodeJS的JavaScript实现的代码基础。我确实想尝试一下typescript,并希望在typescript中实现所有新模块。只是想看看它的表现,以及我对这个想法的喜爱程度。我确实需要能够在任何时候恢复,所以我不想在迁移上投入太多精力。
我开始使用WebStorm和Gulp来支持typescript。我创建了一个新模块,并使用了import/request组合。
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'.
这些模块没有typescript定义文件,是纯javascript模块(lodash显然是一个外部库)。我确实有几个依赖项,我不想手动创建定义,即使它们只是空的存根。如前所述,我确实希望保持集成尽可能简单。
有一面国旗或类似的东西我可以设置吗?
最简单的方法(如果您不想要模块的类型信息)是编写:
declare module "lodash-node" {
var notTyped: any; // naming is unimportant here
export = notTyped;
}
把它放在一个单独的.d.ts文件和/// <reference>
中。然后_
在实现文件中的类型将是any
,编译器不会抱怨不知道你在说什么模块。
您可以使用webpack的typescript加载程序并从那里开始。确保你把target: 'node'
放在你的webpack配置中,这样你就不会有所有的浏览器垃圾。
相关文章:
- 如何在大型nodeJS代码的基础上逐步引入typescript
- 我想在值的基础上选中复选框
- 如何在多变量比较的基础上添加ng类
- 如何在标题SoundCloud的基础上进行曲目搜索
- 在选择其他下拉列表html和javascript araray的基础上,填充3个连续的下拉列表
- 在原始对象的基础上创建新对象的最简单方法,但没有几个字段
- Protractor:在innerhtml的基础上获取元素
- Slick Carousel在应用程序动态路由的基础上不起作用
- 在其他元素的基础上隐藏/取消隐藏jsp元素
- 使用jquery在前一行的基础上交替行颜色
- 使用mysql数据库在第一个下拉框的基础上自动填充第二个下拉框
- 使用javascript在第一个选择列表选项的基础上更改第二个选择列表
- 如何在执行特定函数(Javascript)的基础上呈现模板
- 在另一个选择中先前选择的选项的基础上更改选择选项
- 在上述ul类的基础上给出li元素类
- 在Json函数的基础上返回javascript函数的值
- 如何使用Jquery在给定的html结构的基础上产生手风琴效果
- 如何在JSON数组字段的基础上从主干集合中提取模型
- 在DIV的基础上添加动画's的数据信息
- 如何在外部元素掉落的基础上更改背景颜色's id:完整日历