使用单独编译文件的Typescript继承

时间:2016-09-07 14:09:04

标签: javascript angularjs typescript

我尝试使用打字稿设置基于angularJS的代码。

使用yeoman.io创建初始项目结构,使用' generator-gulp-angular'模块。 对于尝试使用typescript的业务代码,我按照TypeScript - How to keep compiled files in a separate directory?将js文件分离到另一个目录中。

所有不同的JS文件都自动合并到单个JS文件中 - 这是由yeoman生成的代码。

我面临的问题是我想在编译TS代码base.js和derived.js之后使用typescript的继承功能。 但是,当我运行gulp build(再次带有yeoman代码),试图启动phantomJS时它会给我以下错误:

undefined不是一个对象(评估' b.prototype')

在网上搜索之后,我发现它与正在加载的JS文件的序列有关,但就我而言,我只有一个JS文件。

1 个答案:

答案 0 :(得分:0)

您的单个​​JS文件仍然是单独编译的文件(大多数情况下)的串联。您的错误提示输出文件中的顺序错误。

解决此问题的最快方法是使用TypeScript引用标记。从子类中引用基类,如下所示:

/// <reference path='./base.ts' />

不要反过来引用。现在编译器应该遵守输出文件中的顺序。

虽然我必须警告你:看看ES6风格的模块和模块加载器。 参考策略存在扩展问题。