我正在使用package.json
file 来定义 nodejs 要求,npm update
当然也可以正常工作。
如何使用节点管理(更新简单的方法)其他第三方库?例如:
https://github.com/documentcloud/backbone.git
https://github.com/twitter/bootstrap.git
在vendor
文件夹中。
我正在使用package.json
file 来定义 nodejs 要求,npm update
当然也可以正常工作。
如何使用节点管理(更新简单的方法)其他第三方库?例如:
https://github.com/documentcloud/backbone.git
https://github.com/twitter/bootstrap.git
在vendor
文件夹中。
总结:我想你想用http://twitter.github.com/bower/
详细信息: 有两种方法可以理解您的问题:
npm
代码?这个问题的措辞是前者,但从你所包含的例子中,我认为你想问后者。
在服务器端代码的情况下,只要坚持所有代码都随npm
-style package.json
manifest 一起提供。如果代码的作者没有响应,请分叉并添加清单。没有任何借口。
对于客户端代码,情况就不同了。包管理没有既定的标准,但是它是一个被广泛认可的问题并且是非常活跃的开发领域。最近有几个挑战者崛起,试图抢占主导地位:BPM、Jam或Ender。这是您的选择,它们在这里得到了很好的总结:Web assets 的包管理器
但是,以上所有内容都解决了一个有点过于雄心勃勃的问题——他们试图整理这些模块到浏览器的传输(通过延迟加载、require-js 样式、依赖解析、连接/缩小等)。这也使它们更加难以使用。
该领域的新进入者是来自 Twitter的Bower 。它只关注文件夹中的下载/更新生命周期,vendor
而忽略浏览器交付。我喜欢这种方法。你应该检查一下。
你可以去 git 子模块:
http://git-scm.com/book/en/Git-Tools-Submodules
使用别人的 repo 作为 GitHub 上的 Git 子模块
[更新 1 ] 在存储库的根目录执行此操作:
git submodule add git://github.com/documentcloud/backbone.git vendors/backbone
git submodule add git://github.com/twitter/bootstrap.git vendors/bootstrap
虽然这可能不是 nodejs 的方式,并且一些纯粹主义者可能会抱怨,但Composer会做你想做的。即使 Composer 与 PHP 项目一起使用,它也没有理由不能用于管理nodejs 项目的 3rd 方非 npm存储库。显然,第 3 方库最好包含一个 package.json,但这不会发生。我在我当前的 nodejs 应用程序上尝试了这个,它对我来说非常有效。
优点:
缺点:
这里怎么做(你需要能够从 cli 运行 php):
1. 下载 Composer(直接进入你的根 nodejs 项目文件夹)
curl -s https://getcomposer.org/composer.phar > composer.phar
2.创建composer.json文件(在项目的根目录下)
{
"repositories": [
{
"type": "package",
"package": {
"name": "twitter/bootstrap",
"version": "2.0.0",
"dist": {
"url": "https://github.com/twitter/bootstrap/zipball/master",
"type": "zip"
},
"source": {
"url": "https://github.com/twitter/bootstrap.git",
"type": "git",
"reference": "master"
}
}
}
],
"require": {
"twitter/bootstrap": "2.0.0"
}
}
3.运行作曲家更新
php composer.phar update
vendor
这将按照您的要求将包下载到文件夹中:
├── vendor
│ ├── ...
│ ├── composer
│ │ └── installed.json
│ └── twitter
│ └── bootstrap
│ ├── LICENSE
│ ├── Makefile
│ ├── README.md
│ ├── docs
│ │ ├── assets
│ │ └── ...
│ ├── img
│ │ ├── glyphicons-halflings-white.png
│ │ └── glyphicons-halflings.png
│ ├── js
│ │ ├── bootstrap-affix.js
│ │ └── ...
│ ├── less
│ │ ├── accordion.less
│ │ └── ...
│ └── ...