在项目之间共享代码库

时间:2016-08-23 15:07:12

标签: node.js npm babeljs

是否可以使用npm在多个代码库之间共享代码库?

我目前有2个项目有重复的代码;我有一个客户项目和一个管理客户项目。

为了防止重复代码,我希望有一个包含共享代码的包,但我仍然希望能够指定一些只暴露给 administration-client

以下是我想要的描述,其中每个******...都是一个包

//### Shared codebase *****************************************************
export function isTrue() {
    return true;
}

if (__ADMINISTRATION__) {
    export function isFalse() {
        return false;
    }
}


//##### Client *****************************************************
import { isTrue, isFalse } from 'shared-codebase';

assertTrue(typeof(isTrue) === 'function');
assertFalse(typeof(isTrue) === 'function');


//##### Administration Client *****************************************************
import { isTrue, isFalse } from 'shared-codebase';

assertTrue(typeof(isTrue) === 'function');
assertTrue(typeof(isTrue) === 'function');

1 个答案:

答案 0 :(得分:0)

如果您没有计划在npm上像图书馆一样分享您的项目,我建议您使用" git submodule"

我在类似的情况下使用它。我有一个由不同项目引用的存储库项目。

只需查看https://git-scm.com/book/en/v2/Git-Tools-Submodules

即可