如何捆绑一组Typescript类并在其他angular2 / typescript项目中使用它?

时间:2017-04-19 10:26:44

标签: node.js typescript

我有一组类和接口。

文件夹结构

-Myutilityservice --classes --- SankeyUtilService.ts

此.ts文件有一个类

export class SankeyUtilService {
// code goes here..
}

这个项目将通过npm / bower拉到另一个项目中。 我希望我的类可以通过import语句在其他项目中使用。

喜欢这个

import {SankeyUtilService} from 'Myutilityservice/classes';

如何进行这样的配置?请提供一些样品。

1 个答案:

答案 0 :(得分:2)

您可以按照以下步骤将项目公开为npm包:

1)创建将导出所有必需类的index.ts:

export * from "./lib/Helper";
export * from "./lib/Log";
// ....
export * from "./lib/Query";

2)在启用declarations标志的情况下,让你自己转换ts文件 - 这样你就可以得到漂亮的d.ts文件了。

3)在你的package.json中指定transiled index.js和index.d.ts,如下例所示:

"main": "dist/index.js",
"typings": "typings/index.d.ts",

4)将带有定义的已转换来源发布到NPM。

完成这些步骤后,您将能够像这样访问您的软件包:

import * as MyLib from 'MyLib';
let h = new MyLib.Helper();

作为示例 - 您可以检查项目here