在 typescript 包中导出多个函数

Posted

技术标签:

【中文标题】在 typescript 包中导出多个函数【英文标题】:Export multiple functions in typescript package 【发布时间】: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 的东西......)

【问题讨论】:

出于惯用原因考虑使用命名空间导入。 【参考方案1】:

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

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

【讨论】:

【参考方案2】:

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

const _ = 
  functionA,
  functionB


export default _;

【讨论】:

谢谢我试试这个

以上是关于在 typescript 包中导出多个函数的主要内容,如果未能解决你的问题,请参考以下文章

从 NPM 包中导出多个模块

从 React 组件中导出 TypeScript 类型的字符串属性值?

未找到模块:错误:包路径 ./locales 在角度更新到 13 后未从包中导出

使用 TypeScript 在节点应用程序中导入 JSON 文件

为啥不能在 TypeScript 中导出类实例?

如何在没有 <reference> 的情况下在 TypeScript 中导入带有“Typings”的模块?