Gad*_*adi 5 git repository node.js npm
我们有一个node.js项目,其中有几个模块跨越多个Git存储库.模块之间存在依赖关系.
例如:
common模块驻留在自己的存储库中.
execution模块驻留在单独的存储库中,并具有(npm)依赖性common.
因此,目录结构中execution包括:(一次npm install被执行)common下node_modules.
我们的问题是,当开发人员正在开发时execution,他们有时也需要修改common.为了"看到"他们的更改,他们有我们目前使用的两个选项之一:修改node_modules/common(这是丑陋的,未跟踪的等),或修改common存储库,然后按+ npm安装他们的更改(虽然更清洁,非常麻烦).
我们想知道的是,如果这个工作流程有更好的选择......
您可以package.json使用该npm link命令避免修改文件.这将自动配置execution包以将其node_modules/common目录符号链接到您的本地克隆common.
如何使用这种方法
common目录中键入:npm link.这将创建对您的common文件夹的全局引用npm,标识为common(假设common是节点包的确切名称).execution目录中键入:npm link common.这会将node_modules/common文件夹符号链接到目录的本地副本中common.当你完成修改您的common文件夹,您需要在网上更新包,然后更改package.json的execution,以点的更新版本common.
我更喜欢这种方法而不是建议指向package.json本地存储库的方法,因为这使您package.json处于无效状态,可能会意外地提交和推送.
我假设您使用 package.json 将它们用作依赖项,这允许您使用名称而不是路径来要求它们。(您还拥有处理此问题的版本的好东西。)。我找不到任何选项来删除 npm install 步骤,但我确实找到了一些可以删除 git push 步骤的选项,并使你的 npm 安装更快。
本地依赖项。
使用本地路径作为依赖项(可以是您的其他 git 存储库),您可以直接对依赖项的 git 存储库进行更改。这允许您更改代码并测试它而无需推送。(尽管您必须在主模块中再次执行 npm install ,这将在节点模块中复制依赖项的工作副本)。
警告:一旦完成了这两者的工作,您必须注意推送对依赖项代码所做的最终更改,否则其他开发人员可能会处于不一致的状态。
如何添加本地依赖
"dependencies" : {
"here" : "file:./test/git/repo/here#0.0.1"
}
Run Code Online (Sandbox Code Playgroud)
请注意,此本地依赖项功能已在 2.0 版本中添加到 npm 中。因此,如果您还没有 npm 2.0+,您可能需要更新您的节点
| 归档时间: |
|
| 查看次数: |
970 次 |
| 最近记录: |