作者:odile微笑头 | 来源:互联网 | 2023-05-21 09:01
我有一个角色项目,我用打字稿写.这在VS下很适合我,现在我在webstorm下尝试使用Node.JS.
我在progressor.ts文件中有一个进度类:
export class Progressor{
public tasks: any;
constructor(){
this.tasks = {};
}
...
}
我有我的主控制器,它使用这个类:
///
declare var angular: any; // I'm trying to eliminate these...
declare var Papa: any;
declare var $: any;
class MainController{
constructor($scope: any){
$scope.progressor = null;
$scope.filesDropped = function(files, rejectedFiles){
if(!files || !files.length)
return;
$scope.progressor = new Progressor();
// ...
}
};
}
请注意,这不是Node.JS代码 - 它只是Node.JS项目的一部分.
相对参考路径是正确的.当我尝试使用以下方法编译它时:
tsc mainController.ts --module amd --target es5
我收到一个错误:找不到名称Progressor.
我不明白是什么问题......到目前为止,我的Node.JS项目一直没有问题,而且我正在考虑完全放弃TS用于这个项目.首先 - 任何人都可以告诉我为什么它不会编译?请注意,我希望每个TS文件都单独编译,因此我可以通过Chrome轻松调试它们.
1> Ryan Cavanau..:
如果你已经做过export
某些事情,你需要import
它来消费它,而不是它.
替换注释import prog = require('./progressor');
,然后您可以使用例如new prog.Progressor()
.
您可以考虑使用,export = Progressor
以便从另一个文件导出的对象是类本身而不是容器.