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

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

问题描述:

我有一组类和接口。如何捆绑一组Typescript类并在其他angular2/typescript项目中使用它?

文件夹结构

-Myutilityservice --classes --- SankeyUtilService.ts

此.TS文件中有一类

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

该项目将在其他通过拉NPM /亭子。 我希望我的课程可以通过导入语句在其他项目中使用。

像这样

import {SankeyUtilService} from 'Myutilityservice/classes'; 

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

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

您可以通过以下步骤暴露项目为NPM包

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

2)请你舒尔TS transpile与文件declarations标志启用 - 所以你会得到很好的d.ts文件旁边。

3)在你的package.json指定transpiled index.js和index.d.ts像在下面的例子:

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

4)与定义来NPM发布您transpiled来源。

这些步骤后,您将能够访问你的包是这样的:

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

举个例子 - 你可以检查一个项目here