如何导入/引用/需要转译的打字稿文件



我使用 AMD 模块类型、ES5 目标和 TypeScript 1.8 --outFile参数从我的 TypeScript 项目中创建了一个 myLib.min.js/myLib.d.ts 文件组合。--outFile 参数导致将所有转译的.js连接成一个myLib.js文件和一个相应的myLib.d.ts文件。

应该部署两个生成的文件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添加什么才能加载转译的代码myLib.min.js


在我的VS Code环境中,如果我在main.ts顶部使用import {MyClass} from "path/to/myLib",我会收到一条错误消息,告诉我"'path/to/myLib.d.ts'不是模块"。

但是,如果我在main.ts顶部使用/// <reference path="path/to/myLib" />,则库中的所有符号都无法识别,并且每当我尝试从库中引用类名时都会显示红色波浪线。

您需要在 myLib.ts 中使用 MyClass 的导出关键字。这是从模块开始的好读物。

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

以下是 TypeScript 团队的答案,供公众参考:

https://github.com/Microsoft/TypeScript/issues/6382

最新更新