0
我正在開發一個node.js express應用程序以及幾個私有node_modules。node.js需要不同git標籤點上的模塊
我想通過使用git標籤將我的用戶公開給這些模塊的不同版本。這是一個明智的想法,是否有通過自動檢測標籤來做到這一點的同樣明智的方法,並要求每個這些git標籤引用中的模塊?
也許像'git-helpers'可能存在? (代碼的CoffeeScript)
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}
]
編輯
我想出了使用一個被稱爲Node.js的Git的CLI包裝的想法Gift。這是一個明智的做法嗎?
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")
呀,我沒有忽視這個選擇。它對我來說不太合適,因爲它需要我在添加標籤時不斷更新依賴關係。我還需要更新應用程序內的代碼,以便知道需要新標籤。雖然這可能不會是一個問題,如果這是一個模塊,我有大量的模塊,每個都需要公開他們的標籤版本。我希望這是有道理的! – Nick
我想我誤解了你的問題:)順便說一句,我沒有看到一種實際的方式來實現你所需要的,也許一個簡單的類似CDN的目錄結構會做(像什麼[cdnjs](https://github.com /cdnjs/cdnjs.git))。 – LoG