![](/img/trans.png)
[英]How do I add a custom static method to an existing node class (e.g. Buffer) in TypeScript?
[英]How do I convert my existing node application to typescript?
我有一个正常运行的节点项目。 它是使用javascript编写的。 该应用程序非常简单(大多数情况下,它只是托管一个静态文件夹)。 它托管的某些网页已成功将Typescript用于客户端javascript。 现在,我正在尝试将节点转换为打字稿(我使用Visual Studio Code作为IDE),并且遇到了许多奇怪的错误,并且很难找出我做错了什么错误任何好的搜索都不会显示邮件。
我从绝对类型下载了.d.ts
文件,并将其放入.d.ts
文件夹中,然后将index.js
文件重命名为index.ts
,并在tasks.json
文件中添加了对它的引用,以便可以编译新的打字稿文件。 然后,将打字稿内容添加到index.js的顶部
///<reference path='ts/express.d.ts' />
import * as express from "express";
var app = express();
var path = require('path');
当我这样做时,我收到了这些错误消息
C:/src/www/ts/node.d.ts (128,29): Expected ';'
C:/src/www/ts/mime.d.ts (17,12): Expected identifer after 'import'
C:/src/www/ts/mime.d.ts (27,12): Expected identifer after 'import'
C:/src/www/ts/mime.d.ts (3,8): Expected identifer after 'import'
.d.ts
文件有问题吗?
我敢肯定,我的打字稿不如编写d.ts
文件的人好,这一行看起来很正确:
isBuffer(obj: any): obj is Buffer;
但是是生成Expected ';'
错误,但我并不十分相信,因为其他三个错误消息出现在mime.d.ts
,其中不包含单词import
。
因此,我以为我会做得较小,并创建了一个单独的JS文件。 它只包含:
import * as express from "express";
并生成相同的错误消息。
C:/src/www/simple.ts (1,8): Expected identifer after 'import'
我究竟做错了什么?
- 更新 -
这是我的tsconfig
{ "compilerOptions": {
"target": "es5",
"module": "amd",
"sourceMap": true
}}
您使用的打字稿0.8.3非常过时。 这可能是(也可能不是)解决方案,但这是使它保持最新状态的一个好的开始。 我将Atom用作我的IDE,所以我在npm上安装了打字稿,该打字稿始终解析为最新版本。 不了解VS Code。
关于您的.tsconfig
,理想情况下,你应该使用分型管理.d.ts
文件。 它将在具有单个入口点(称为main.d.ts
)的单个目录中下载和组织所有类型定义。 然后,此文件和所有其他.ts
文件会列在.tsconfig
文件的files
属性上,因此编译器知道要使用哪些文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.