我正在开发一个 node.js express 应用程序以及几个私有 node_modules。
我想通过使用 git 标签让我的用户接触这些模块的不同版本。这是一个明智的想法吗,是否有一种同样明智的方法可以通过自动检测标签来做到这一点,并要求每个 git 标签引用中的模块?
也许可能存在“git-helpers”之类的东西?(代码是咖啡脚本)
git = require('git-helpers?').dir('./node_modules/module/')
tags = git.getGitTags()
modules = []
for tag in tags
git.requireAtGitTag tag, (err, res) ->
modules.push {version: tag, module: res}
然后模块变量看起来像这样
[
{ version: "0.8", module: required_module_here_at_tag},
{ version: "0.9", module: required_module_here_at_tag},
{ version: "1.0", module: required_module_here_at_tag}
]
编辑
我想出了一个使用名为Gift的 node.js git cli 包装器的想法。这是一种明智的做法吗?
gift = require("gift")
repo = gift("./node_modules/moduleA")
modules = []
repo.tags (err, tags) ->
for tag in tags
repo.checkout tag.name, (err, a) ->
modules.push
version: tag.name
module: require("./node_modules/moduleA")