我想在NodeJS环境中使用TypeScript。由于我是TypeScript的新手,因此我不确定如何使用NodeJS模块系统正确扩展类。
我想用if ($_FILES['file']['error'] == 0) {
// move_uploaded_file (single file)
// or a for($i=0; $i < $file_count; $i++) (multiple files)
}
if ( $_SERVER['REQUEST_METHOD'] == 'POST' ) {
//filter the data and store it in db
}
扩展我的课程Champion
。
GameObject
///<reference path="../../typings/node/node.d.ts"/>
class GameObject {
id:number;
name:string;
}
module.exports = GameObject;
到目前为止,这不会引发编译错误。
现在我要创建一个我的冠军实例。这就是我尝试过的事情
///<reference path="../../typings/node/node.d.ts"/>
///<reference path="Image.ts"/>
///<reference path="GameObject.ts"/>
class Champion extends GameObject {
// ...
}
module.exports = Champion;
我的// I tried referencing the Champion.ts which haven't changed anything
var Champion = require('../api/types/Champion');
var c = new Champion();
现在抛出以下错误:
ReferenceError:未定义GameObject
所以我认为我需要Champion.js
require('GameObject')
才能运行我的应用程序。但我得到另一个错误。
我引用Champion.ts
require
GameObject
这给了我错误
重复标识符GameObject
或者我只是///<reference path="GameObject.ts"/>
var GameObject = require('./GameObject');
class Champion extends GameObject {
并获得
键入any不是构造函数类型
require
答案 0 :(得分:0)
而不是module.exports = GameObject;
使用var/require
使用import/require
这将为您提供导入方面的类型安全性。这些称为文件模块,并在此处记录:https://basarat.gitbooks.io/typescript/content/docs/project/modules.html