Node.js &引用;“绝对打字”;NodeJS+;Express定义文件有错误
我正在尝试将包含NodeJS+ExpressJS的项目转换为Typescript 我从“明确键入”中获取了定义文件,但它们似乎有很多错误: 方法“write”和listen抛出错误:“不兼容重写可写流的成员” 在app.js文件中,Node.js &引用;“绝对打字”;NodeJS+;Express定义文件有错误,node.js,express,definitelytyped,Node.js,Express,Definitelytyped,我正在尝试将包含NodeJS+ExpressJS的项目转换为Typescript 我从“明确键入”中获取了定义文件,但它们似乎有很多错误: 方法“write”和listen抛出错误:“不兼容重写可写流的成员” 在app.js文件中,var app=express()函数引发错误:方法表达式不是函数类型: “不兼容覆盖”-这是webStorm中的一个bug,请投票支持 '方法表达式不是函数类型:'无法在WebStorm 7.0.2中重现。可能定义已过时。修复错误,并向定义类型的项目发出请求。这
var app=express()代码>函数引发错误:方法表达式不是函数类型:
“不兼容覆盖”-这是webStorm中的一个bug,请投票支持
'方法表达式不是函数类型:'无法在WebStorm 7.0.2中重现。可能定义已过时。修复错误,并向定义类型的项目发出请求。这就是开源的工作原理;-)“不能在Webstorm 7.0.2中复制”是什么意思。这就是我目前拥有的webstorm版本。至于bug,我们是否可以忽略警告并继续?希望它能正常工作?还有一件事!你的回答很有帮助。我还在Quora上问了一个关于如何创建Typescript定义文件的问题。你能试着回答这个问题吗?这里是链接:没有工具(至少我不知道有)用javascript创建typescript文件。。。Typescript编译器可以用.ts文件生成环境声明(d.ts)文件(请参见--declaration选项),但不能对javascript执行此操作。当然,作为一个卑鄙的黑客,你可以尝试将你的.js文件重命名为.ts,然后用-declaration选项为它们运行typescript编译器,但这很可能会失败,因为编译器不会理解大多数js结构,也不会从中提取声明。另请参见-d.ts文件创建教程;javascript库中的脚本。另外请注意,您可以在“谢谢”上找到大多数流行库的d.ts文件。这很有帮助。我已经从明确键入的文件中得到了一些文件,特别是对于NodeJS和Expres,这导致了一些错误。我问了一个关于这个的问题,也许你可以回答:-再次感谢。
export interface ClientRequest extends events.NodeEventEmitter, stream.WritableStream
{
// Extended base methods
write(str: string, encoding?: string, fd?: string): boolean;
write(buffer: NodeBuffer): boolean;
write(chunk: any, encoding?: string): void;
end(data?: any, encoding?: string): void;
abort(): void;
setTimeout(timeout: number, callback?: Function): void;
setNoDelay(noDelay?: Function): void;
setSocketKeepAlive(enable?: boolean, initialDelay?: number): void;
}
export interface Server extends net.Server {
// Extended base methods
listen(port: number, host?: string, backlog?: number, listeningListener?: Function): void;
listen(path: string, listeningListener?: Function): void;
listen(handle: any, listeningListener?: Function): void;
listen(port: number, host?: string, callback?: Function): void;
close(): void;
address(): { port: number; family: string; address: string; };
addContext(hostName: string, credentials: {
key: string;
cert: string;
ca: string;
}): void;
maxConnections: number;
connections: number;
}
var http = require("http");
var express = require("express");
var expose = require("express-expose");
var fs = require("fs");
var formidable = require("formidable");
var upload = require('Upload');
var app = express();
var HOST = "localhost";
var PORT = 8080;