发布于 2011-05-17 04:42:42
从npm 1.0开始(如果您遵循自述文件中的步骤,它现在是您默认获得的),"bundle“不再是一个独立的东西--它只是”它的工作方式“。
所以:
package.json
文件放在项目的根目录下{ "name“:"my-project”,"version“:"1.0.0”,"dependencies“:{ "express”:"1.0.0“} }
npm install
由于您在没有参数的情况下调用此locally.
require("express")
,并且不是在全局模式下,它只会安装您所有的副产品,并且会很开心。发布于 2011-03-13 19:48:19
编辑:仅适用于npm 1.0以下版本
很难弄清楚这一点,但NPM使这一切成为可能,。
您需要三个组件
的package.json
文件的package.json
文件
示例
假设是您唯一的依赖项
deps/package.json
注意:每次修改依赖项时,请递增版本号
{
"name": "myapp_dependencies",
"version": "0.0.1",
"engines": {
"node": "0.4.1"
},
"dependencies":{
"express": "2.0.0beta2"
}
}
deps/index.js
export.modules = {
express: require('express')
//add more
}
现在,您应该能够使用npm安装依赖项了。您甚至可以将此作为部署过程的一部分
cd deps
npm install
然后在你的应用程序代码中,你可以像这样访问你的特定版本的express:
var express = require('myapp_dependencies').express;
发布于 2011-02-02 20:33:04
你应该阅读这两篇来自Isaacs(作者npm)博客的文章。我认为他们真的很好,我相信他们会告诉你如何实现你的目标:
我相信链接#1(第11点)解释了这一点:
11:将所有依赖项捆绑到包本身中
当您使用npm bundle命令时,npm会将所有依赖项放入包的node_modules文件夹中。但它并没有止步于此。
如果你想依赖注册表之外的东西,你可以这样做。只需执行以下操作:
npm bundle install tarball这将把http://github.com/whoever/whatever/tarball/master的内容安装到这个包中,然后你可以把它作为依赖项列出来,在安装你的包的时候,它不会尝试安装它。
如果您有自己的分支,并且不想更改名称,这也很方便。
实际上,您几乎可以在捆绑包中运行任何npm命令。要查看其中的内容,可以执行npm bundle ls。要删除某些内容,请执行npm bundle rm操作。当然,你也可以安装多个版本并激活你想要的版本。
https://stackoverflow.com/questions/4871932
复制相似问题