0

いくつかのプライベート node_modules と共に node.js エクスプレス アプリを開発しています。

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")
4

1 に答える 1

1

このようなものをアーカイブする最善の方法は、npm: Git URLs as Dependenciesを使用することです

package.jsonアプリフォルダーの例:

{
  "name": "foobar",
  "version": "0.0.1",
  "dependencies": {
    "library": "git://example.com/user/project.git#tag_name"
  }
}

その後、次のことができます。

var library = require('library')
于 2012-09-05T12:55:10.590 に答える