【发布时间】:2022-11-29 01:18:04
【问题描述】:
我有一个 NPM 模块,它使用另一个包含共享代码的本地 NPM 模块。它们都不是公开的,这都是本地的。
我像这样在我的 package.json 中导入共享模块:
"my-shared": "file:../my-shared-code"
当我安装 npm 时,我的共享代码被正确导入,我可以导入如下代码:
import Blah from 'my-shared/src/sharedTypes';
问题
我必须在导入中使用“src”这个词。但是,当我构建时,我创建了一个 build 目录,这会破坏所有这些导入!
我想知道我是否可以使用 NPM 以某种方式映射导入?
我可以做到完全不用“src”这个词吗?
我可以这样做吗:
import Blah from 'my-shared/sharedTypes';
然后它神奇地计算出是使用“src”还是“build”目录?
我试过的
我查看了package.json 的选项,我认为有一个“文件”属性可能有帮助。但是我认为这只是将文件列入白名单。
我还查看了“主要”属性,但我不是在“导出模块”。我只有一大堆实用程序文件,我希望能够将它们导入到多个其他项目中。
我实际上想要实现的目标
我正在使用打字稿,我有一个前端和一个后端,它们都共享某些模型的类型,但也共享一些实用功能。
我希望我的 typescript/react 前端和我的 typescript 后端能够从另一个 node_package 导入 typescript 文件,但是它需要知道使用 "src" 进行开发,使用 "build" 进行生产。
【问题讨论】:
标签: node.js typescript npm