1

作为开发过程的一部分,我想使用子文件夹中的父 NPM 包。让我们称我的图书馆为“logary”。

结构:

.
|- package.json
|- tsconfig.json
|- src
 |- ... all the source code
|- dist
 |- ... compiled TS as .js, .js.map and .d.ts
|- examples
 |- with-nextjs
  |- package.json
  |- tsconfig.json

该库是用 TypeScript 编写的,示例也是如此。父级使用outDir: ./distin编译tsconfig.json。我有多个入口点(一个用于主库,一个用于每个对等依赖项,例如:import withLogary from 'logary/plugins/nextjs'.

我希望能够在import Logary from 'logary';里面编写,./examples/with-nextjs并且让Logary构造函数具有附加到它的类型,这些类型可以被 TypeScript 编译器完全“解析”。我希望在重新加载.时反映更改./examples/with-nextjs

这不是 monorepo(在常识中)。我试过yarn linkin.然后yarn link logaryinside ./examples/with-nextjs,这似乎没有解决它(无法导入模块)。此外,当我将版本撞到.6.0.0,当我yarn install在里面./examples/with-nextjs时,yarn 抱怨该版本未发布到 npmjs.com 并要求我选择以前的版本,然后它会下载该版本。

我知道有Lerna(“将大型代码库拆分为独立的独立版本包对于代码共享非常有用。”——这是一个很小的代码库,只有一个包,我只想从一个单一的方向引用它例如)和Yarn 工作区(“它允许你设置多个包,这样你只需要运行一次 yarn install 就可以一次安装所有包。”——这不是我的目标)

我对向 in 添加任何特殊配置(如paths)不感兴趣tsconfig.json./examples/with-nextjs因为这样就不仅仅是将示例复制到您自己的应用程序中。

➡ 如何最好地构建具有多个对等依赖项和示例文件夹的 TypeScript 库项目?

也许相关?

4

0 回答 0