在节点项目中共享常见的脚本代码
假设我有以下项目结构:
- web应用
- 项目A
- SomeClass.ts
- 的package.json
- 项目B
- SomeClass.ts
- 的package.json
- 共同
- LoggingClass.ts
- 的package.json
- 项目A
常见的“LoggingClass”需要从NPM中导入一个模块。 假设这个模块是UUID( https://www.npmjs.com/package/uuid )
问题或挑战如下:我们想在ProjectA和ProjectB中使用和导入“LoggingClass”。
问题是,他们可以从通用文件夹中导入代码而没有问题,但是那些项目中不存在模块“UUID”,因为我们没有在他们各自的Package.json中指定。
我不想创build实际的节点模块,因为我的代码需要检查到一个Git仓库。 (有人build议直接开发到node_modules目录)。
我想知道在使用npm的时候,社区其他打字员开发人员在社区中分享他们的代码。 (如果只是打字稿文件,这不会是一个问题,但由于我们对npm的依赖关系…它变得复杂)。
任何想法将不胜感激!
我不想创build实际的节点模块,因为我的代码需要检查到一个Git仓库。
一个真正的NPM模块实际上是一种方式去恕我直言。 您不必将其专门存储在npmjs.org
(您可以拥有自己的npm存储库)。
有人build议直接开发到node_modules目录。
这实际上是我能想象的最不方便的方式。 可能我错过了一些重要的东西,但我很想知道他们的想法。
有些东西你不能用基于git的解决scheme[很容易]实现。 例如,如何检出共享代码的特定版本,并保持代码的其余部分不变? 只有一个共享代码所在的目录比较容易。 但是,如果你有很多(基本上,目录作为包),那么它很麻烦。 甚至搞清楚他们的“版本”也是棘手的 – 你必须发明和遵循git标签规则或其他方式来注释提交。
无论如何,我想说的是我的回答不完全是你要求的; 我的回答是一个build议重新评估你的位置(不)包装代码到npm模块 – 这实际上是 JavaScript / TypeScript社区的一个标准 。
我想知道在使用npm的时候,社区其他打字员开发人员在社区中分享他们的代码
由于你的需求I do not want to create actual node modules since my code needs to be checked into a git repository.
我会简单地重组为
- web应用
- 的package.json
- 了projectA
- SomeClass.ts
- 项目B
- SomeClass.ts
- 的package.json
- 共同
- LoggingClass.ts