2011-05-10 19 views

回答

1

所有你需要运行一个独立的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。

进一步的信息,请参阅http://nodejs.org/docs/v0.4.7/api/modules.html

+0

库中的所有文件?这不是太大吗?我想知道的是哪些文件是必不可少的,哪些只是源文件(例如c源文件)。 – TiansHUo 2011-05-11 01:33:34

+0

那么,正如我指出的那样,节点二进制_already包含所有“本地”模块(断言,缓冲区等)。您只需要包含您的应用程序所需的任何_additional_模块。 – 2011-05-11 01:36:33

+0

你是指所有附加模块的文件?或者一个子集就够了? – TiansHUo 2011-05-11 01:37:22

2

创建一个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

+0

对不起,但我不想在npm上发布我的应用程序。你是否说'npm link'通过在package.json中安装所有的依赖关系来工作? – TiansHUo 2011-05-11 01:27:09

+0

@TiansHUo如果你创建一个package.json文件并声明你的依赖关系。然后你可以在该目录中调用'npm link',它会查看你的包并自动为你安装所有的依赖关系。 – Raynos 2011-05-11 07:58:41

相关问题