【问题标题】:How do I import/reference/require a transpiled TypeScript file?如何导入/引用/需要转译的 TypeScript 文件?
【发布时间】:2016-01-06 16:09:36
【问题描述】:

我使用 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.jsmain.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 的顶部使用 /// &lt;reference path="path/to/myLib" /&gt;,则库中的所有符号都无法识别,并且每当我尝试从库中引用类名时都会显示红色曲线.

【问题讨论】:

    标签: typescript1.7


    【解决方案1】:

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

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

    【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2016-09-08
      • 2013-02-22
      • 1970-01-01
      • 2014-06-04
      • 2020-10-23
      • 1970-01-01
      • 2017-11-06
      • 1970-01-01
      • 2018-04-10
      相关资源
      最近更新 更多