使用在单独的源文件中定义的类型和函数创建本地 TypeScript 包

Create local TypeScript package with types and functions defined in separate source files

我正在努力学习 npm 和 TypeScript。我的目标是在一个项目中创建一个名为 scrape-jobs 的 TypeScript 包,然后在另一个项目中使用它。如果可能的话,我想将我的类型定义与我的函数定义(在源代码中)分开。

构建我的项目后,我的scrape-jobs文件夹结构如下:

|   .eslintignore
|   .eslintrc
|   .prettierrc
|   package-lock.json
|   package.json
|   tsconfig.json
|   
+---build
|       functions.d.ts
|       functions.d.ts.map
|       functions.js
|       functions.js.map
|       types.d.ts
|       types.d.ts.map
|       types.js
|       types.js.map
|       
+---src
|       functions.ts
|       types.ts       

如图所示,我的函数和类型的声明文件现在位于两个文件中:functions.d.tstypes.d.ts。但是,package.json 中的 "types" 属性 只允许一个值,那么如何将两个 *.d.ts 文件指定给消费项目?

我在朋友的帮助下找到了答案:创建一个 third 文件,简单地导出前两个中的函数和类型。所以我现在创建了 index.ts 简单地写着:

export { IScrapeJobs } from './types'
export { scrapeJobs } from './functions'

我在 package.json 中的 "main""types" 属性现在都设置为 "./build/index" 并且一切正常。