我有一个正常运行的节点项目。它是用javascript编写的。该应用程序非常简单(大多数情况下,它只是托管一个静态文件夹)。它托管的一些网页成功地使用了用于客户端javascript的typescript。现在我正在尝试将我的节点转换为typescript(我使用Visual Studio Code作为IDE),并且我有很多奇怪的错误,并且很难找出我做错了什么错误消息不会在任何好的搜索中出现。
我从明确键入的.d.ts
文件中下载并将其放入typescript文件夹,然后将index.js
文件重命名为index.ts
,并在{{{}}中添加了对它的引用1}}文件,以便它编译新的打字稿文件。然后我将打字稿内容添加到index.js
tasks.json
当我这样做时,我收到了这些错误消息
///<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 ';'
中,其中不包含单词{{1} }。
所以,我以为我会从小做起,并创建一个单独的JS文件。它只包含:
mime.d.ts
这会产生相同的错误消息。
import
我做错了什么?
- 更新 -
这是我的tsconfig
import * as express from "express";
答案 0 :(得分:1)
你正在使用的是typescript 0.8.3,这是非常过时的。它可能是(或不是)解决方案,但它是保持最新的良好开端。我使用Atom作为我的IDE,所以我用npm安装了typescript,它总是解析为最新版本。不了解VS Code。
关于.tsconfig
,理想情况下,您应该使用typings来管理.d.ts
个文件。它将使用单个入口点(称为main.d.ts
)在单个目录中下载和组织所有打字定义。然后,此文件和所有其他.ts
文件将列在files
文件的.tsconfig
属性中,以便编译器知道要使用的文件。