2016-08-16 54 views
0

我知道TypeScript outFile usage is not recommendedTypeScript未解析文件

但是我不得不使用它,直到我有時間實施更好的解決方案,比如AMD。

我相信我有一個「模塊分裂問題」。我在同一個目錄的兩個文件:

文件referencedFile.ts:

module my.namespace { 

    export class one { 
    } 

    export class two { 
    } 
} 

文件anotherClass.ts:

module my.namespace { 
    export class anotherClass { 
     constructor() { 
     // THROWS ERROR "JavaScript runtime error: Object doesn't support this action" 
     var x = new my.namespace.one(); 
     } 
    } 
} 

在運行時,我得到錯誤「對象不支持這個動作「當試圖實例化一個新的」一個「類。在另一個類的構造函數中進行調試時,我可以看到my.namespace.one和my.namespace.two在此處不存在。

我說這條線在anotherClass.ts的頂部,它並沒有解決:

/// <reference path="referencedFile.ts" /> 

我的打字稿的Visual Studio設置「合併這些JavaScript輸出到一個文件:腳本\ oneFile.js」

我可以在生成的「oneFile.js」中看到,來自referencedFile.ts的代碼在那裏,它在來自anotherClass.js的代碼之前的文件中,所以我不認爲存在排序問題。

什麼給?

+1

您正在使用什麼版本的TypeScript? –

+0

1.8.36在VS 2015中列出,但我在程序文件中安裝了1.7.6工具。我刪除了1.7.6工具,這可能已經解決。將驗證,但想明白爲什麼 – user210757

+1

因爲您正在使用,您可能想開始查看['import'關鍵字](https://www.typescriptlang.org/docs/handbook/module-resolution.html)一個支持它的版本。它接管了'///

回答

0

這個問題最終被安裝了打字稿1.7.6,儘管我已經安裝了VS 2015 1.8.36

1

來源:// THROWS ERROR "JavaScript runtime error: Object doesn't support this action"

顯然順序是錯誤的

指定與outFile

排序您可以使用好醇reference文件伎倆。這是記錄在這裏:https://github.com/TypeStrong/grunt-ts#javascript-generation

PS:我相信你知道我對這個問題的看法:https://basarat.gitbooks.io/typescript/content/docs/tips/outFile.html但仍然值得一提的其他人。

+0

了不起的信息。儘管我在VS 2015中安裝了1.8.36,但問題最終仍然是安裝了打字稿1.7.6。 - 我在我的問題中包含了該鏈接 – user210757