如何捆绑一组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。