2016-01-06 50 views
0

我已經使用AMD模塊類型,ES5目標和TypeScript 1.8 --outFile參數從我的TypeScript項目創建了一個myLib.min.js/myLib.d.ts文件組合。 --outFile參數導致將所有傳輸的.js連接成一個單一的myLib.js文件和對應的myLib.d.ts文件。如何導入/引用/需要轉碼的TypeScript文件?

應該部署兩個生成的文件myLib.min.js/myLib.d.ts


現在我想在另一個TypeScript項目中使用我的部署。我正在使用SystemJS加載模塊和一個網頁來託管加載程序。

網頁上的JavaScript應該只加載main.min.js。然後main.min.js應該加載myLib.min.js


下面是我用我的網頁的HTML:

<html> 
<body> 
    <script src="../node_modules/systemjs/dist/system.js"></script> 
    <script> 
     System.baseURL = "../output"; 
     System.import("/tests/Scripts/main.min.js"); 
    </script> 
</body> 
</html> 


我的問題是:什麼我添加到main.ts有transpiled代碼加載myLib.min.js


在我VS代碼環境中,如果我使用import {MyClass} from "path/to/myLib"main.ts頂部我得到一個錯誤信息,告訴我說:「‘路徑/要/ myLib.d.ts’不是一個模塊「。

但是,如果我在main.ts的頂部使用/// <reference path="path/to/myLib" />所有來自lib的符號都沒有被識別,並且每當我嘗試從我的庫中引用類名稱時都會顯示紅色的小波形。

回答

0

您需要在myLib.ts中使用MyClass的export關鍵字。從模塊開始,Here是一個很好的閱讀。

export class MyClass{ 
     //parameters and functions here... 
} 
+0

感謝試圖幫助,Seshu。我在GitHub上與TypeScript團隊進行了非常啓發性的討論:https://github.com/Microsoft/TypeScript/issues/6382,已經解決了我的問題。 – AxD

相關問題