【问题标题】:Export multiple functions in typescript package在 typescript 包中导出多个函数
【发布时间】:2020-06-08 05:23:45
【问题描述】:

我正在用 Typescript 编写一个 npm 包,它实现了几个功能。

目前,我正在将所有函数导入文件index.ts 并立即重新导出:

import { functionA, functionB } from "./file1";
import { functionC, functionD } from "./file2";
export {
  function A,
  function B,
  function C,
  function D,  
}

我可以使用import { functionA } from "package";在其他项目中使用它们

但是我想导出这些函数,以便我可以在另一个项目中使用这样的包(不使用类):

import _ from "package"
const foo = _.functionA(...);
const bar = _.functionB(...);

这类似于 Lodash 的实现。我在很多地方搜索过,但是在 typescript 中导出内容非常令人困惑(例如,lodash 中的index.d.ts 有两个导出为_ 和一些declare constdeclare namespace 的东西......)

【问题讨论】:

  • 出于惯用原因考虑使用命名空间导入。

标签: typescript npm module package


【解决方案1】:

你可以import the module in variable using import * as syntax

import * as _ from './package';
_.functionA();

【讨论】:

    【解决方案2】:

    导出具有这些属性的默认对象:

    const _ = {
      functionA,
      functionB
    }
    
    export default _;
    

    【讨论】:

    • 谢谢我试试这个
    猜你喜欢
    • 1970-01-01
    • 2013-02-28
    • 1970-01-01
    • 2015-07-08
    • 2020-08-27
    • 2021-04-28
    • 1970-01-01
    • 2018-04-27
    • 1970-01-01
    相关资源
    最近更新 更多