我突然有一個非常奇怪的編譯我的一個文件。typescript編譯器忽略定義/導入1個文件
comm.ts:
import document = require('./document/document');
import element = require('./document/elements/element');
import paragraph = require('./document/elements/paragraph');
import listBody = require('./document/list-body');
// ...
comm.js:
var __extends = this.__extends || function (d, b) {
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
function __() { this.constructor = d; }
__.prototype = b.prototype;
d.prototype = new __();
};
define(["require", "exports"], function(require, exports) {
// ...
什麼是與延伸,更重要的是,爲什麼定義不能在4個進口拉?它們用於代碼中。
而最大的問題是,現在當我跑我的錯誤:
SCRIPT5007:無法獲取屬性「原型」的未定義或空引用 comm.js,行18個字符5
在上面列出的代碼中。
導入是必需的,但僅用於定義類型。所以我猜測對於類型定義來說,這是編譯時需要的,但不是運行時。但是,__extends函數仍然會引發異常。在入口b上是未定義的,而d是「函數RunProperties」,這是我擁有的一個類,但它不在任何地方引用此文件。 –
如何找出延伸問題是什麼?我仔細查看了代碼,並且此文件中的所有擴展都是在同一個文件中的類和接口。 –
是否允許循環導入?我有一個案例,file1導入file2和file2導入file1。 –