我使用AMD模块类型,ES5目标和TypeScript 1.8 myLib.min.js
参数从我的TypeScript项目创建了myLib.d.ts
/ --outFile
文件组合。 --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 环境中,如果我在import {MyClass} from "path/to/myLib"
的顶部使用main.ts
,我会收到一条错误消息,告诉我&#34; &#39;路径/到/ myLib.d.ts&#39;不是一个模块&#34;。
但是,如果我在/// <reference path="path/to/myLib" />
的顶部使用main.ts
,则无法识别lib中的所有符号,并且每当我尝试时都会显示红色波浪线从我的图书馆引用一个班级名称。
答案 0 :(得分:0)
您需要在myLib.ts中使用MyClass的export关键字。从模块开始,Here是一个很好的阅读。
export class MyClass{
//parameters and functions here...
}
答案 1 :(得分:0)
以下是TypeScript团队的答案,供公众参考: