我用npm来安装大部分依赖库。现在我想将这些库添加到我的工作目录中,以便另一台计算机可以直接运行它而无需手动下载和安装这些文件。 我看到很多github上的项目都这样做。当我想用我的项目使用node.js部署一个库时,应该包括哪些文件?
应该怎么做?我应该包括哪些文件?我的大多数库都在/usr/local/lib/node/
我用npm来安装大部分依赖库。现在我想将这些库添加到我的工作目录中,以便另一台计算机可以直接运行它而无需手动下载和安装这些文件。 我看到很多github上的项目都这样做。当我想用我的项目使用node.js部署一个库时,应该包括哪些文件?
应该怎么做?我应该包括哪些文件?我的大多数库都在/usr/local/lib/node/
所有你需要运行一个独立的Node.js应用程式是您的应用程序代码和节点二进制可执行文件 - 通常是在/ usr/local/bin中发现 - 因为它已经包含了所有的“原生”的模块。 (请参阅下面的列表。)如果您的应用程序需要除这些之外的其他库,则需要将它们作为应用程序的一部分提供。
如果您选择使用NPM将应用程序部署到服务器,通过@Raynos下面介绍的方法将很好地工作。
。如果您选择通过混帐或存档将应用程序部署到服务器,另一方面,你需要提供所有您的应用程序以及它们的相关性所需要的库。要做到这一点
一种方法是安装/拷贝到您的应用程序的主目录下的“节点模块的目录下所有需要的库文件。
从[email protected]开始,本地模块包括:assert,buffer,child_process,console,constants,crypto,dgram,dns,events,freelist,fs,http,https,模块,net,os,路径,querystring,readline,repl,流,string_decoder,sys,定时器,tls,tty,url,util和vm。
创建一个package.json文件,指出您的依赖项,然后使用npm link
从该软件包文件进行安装。
例如包文件:
{
"name": "Inventory-System",
"description": "Manage Inventory web app",
"version": "0.0.1",
"author": "Raynos",
"dependencies": {
"now": "0.5.3",
"backbone": "0.3.2",
"cradle": "0.5.5",
"supervisor": "0.1.2",
"less": "1.0.41",
"ejs": "0.4.1"
}
}
这使您可以声明性地定义的依赖关系,然后在安装库,因为那样简单npm link
。
您还可以进一步发布并通过npm
发布自己的图书馆,然后在另一台计算机上拨打npm install myLibrary
。
库中的所有文件?这不是太大吗?我想知道的是哪些文件是必不可少的,哪些只是源文件(例如c源文件)。 – TiansHUo 2011-05-11 01:33:34
那么,正如我指出的那样,节点二进制_already包含所有“本地”模块(断言,缓冲区等)。您只需要包含您的应用程序所需的任何_additional_模块。 – 2011-05-11 01:36:33
你是指所有附加模块的文件?或者一个子集就够了? – TiansHUo 2011-05-11 01:37:22