如何分解节点模块(使用git)?

时间:2016-03-08 17:57:32

标签: node.js git module refactoring

假设我有一个像这样的简单节点项目:

/
index.js
|
package.json
|
-- mymodules/my-awesome-module.js
|
-- node_modules

我们还要说,当我开发这个应用程序时,我注意到mymodules / my-awesome-module.js对其他项目也很有用。

所以我想把它考虑出来 - 但我还想继续改进我目前项目中的模块,就像我到目前为止一样。

我被困在这里有两个问题:

首先,我如何设法将模块放入npm模块中,这仍然是项目树的一部分?

其次,如果我能够实现这一目标,我将如何设法将该模块转换为单独的git仓库,同样在保留项目树的前提下呢?

我希望,这篇文章有点易于理解。

1 个答案:

答案 0 :(得分:2)

方法1(简单方法): 如果您希望文件位于当前文件系统的多个位置,则可以使用软链接,例如:

$> ln -s mymodules/my-awesome-module.js /path-to-my-other-project/my-awesome-module.js

如果您想在两个项目上使用版本控制系统,您甚至可以使用硬链接(保留-s选项)。

注意: 如果您这样做,您将始终不得不考虑更改(可能由git完成)也会影响使用此文件的所有其他项目。

方法2(不太容易,但更好的方式): 您可以在它自己的git存储库中开发此文件,然后在所有其他存储库中将其用作git submodule