【问题标题】:How to bundle up a set of Typescript classes and use it in other angular2/typescript projects?如何捆绑一组 Typescript 类并在其他 angular2/typescript 项目中使用它?
【发布时间】:2017-09-15 12:34:16
【问题描述】:

我有一组类和接口。

文件夹结构

-Myutilityservice --类 ---SankeyUtilService.ts

这个 .ts 文件有一个类

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

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

这样

import {SankeyUtilService} from 'Myutilityservice/classes';

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

【问题讨论】:

    标签: node.js typescript


    【解决方案1】:

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

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

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

    2) 确保您在启用 declarations 标志的情况下转译 ts 文件 - 这样您就会得到很好的 d.ts 文件。

    3) 在您的 package.json 中指定转译后的 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

    【讨论】:

      猜你喜欢
      • 2020-01-07
      • 1970-01-01
      • 2015-10-21
      • 1970-01-01
      • 1970-01-01
      • 2017-05-30
      • 1970-01-01
      • 1970-01-01
      • 2018-02-05
      相关资源
      最近更新 更多