使用Node.JS

昨晚我转储了 Windows 7并将我的硬盘驱动器格式化为基于 Linux的操作系统,纯粹是因为我想开始使用Node.JS

所以我已经安装了Node.JS并做了一些测试工作,http服务器和套接字等.

我想要做的是构建一个与MVC框架紧密集成的HTTP服务器,但在开始之前,我需要学习如何在Node中高效构建.

例如在PHP中作为我的框架,我将创建一个引导加载系统来加载所有基类等,然后我会激活我的事件系统准备开始附加回调.

我将继续处理请求等,直到生成输出,然后将其发送到将处理标头等的输出处理程序

但Node是一个全新的环境,我想知道在Node中构建系统的最佳实践.

我正在寻找的信息更多的是与设计结构有关,而不是应用程序的实际编码,如何加载lib加载库的位置等等

任何帮助表示赞赏.

到目前为止,我的WebApplication很顺利,我已经构建了我的应用程序非常传统和一点程序.

我开始的是创建一个像这样的目录结构:

<root>
    startup.js
    /public/
        favicon.ico
        /images/
        /stylesheets/
        /javascripts/
    /system/
        init.js
        config.js
        /libs/
            /exceptions/
                http.js
                server.js
    /application/
        /views/
            /_override/
                /errors/
                    generic.view
            /partials/
                sidebar.voew
            index.view
        /controllers/
             index.js
        /models/
            users.js

这个目录结构就像大多数基于MVC的Web应用程序一样,所以使用这种方法我觉得很舒服.

启动文件是由节点作为入口点执行的,节点启动&看起来像这样:

/*
    * Header of t he file,copyright etc
*/

var _Intitialize = require("./system/init.js");

//displays the command line header,title,copyright etc
_Intitialize.displayCommandLineHeader();

//Check the enviroment,Permissions,Ports etc
_Intitialize.CheckEnviroment();

//Start the server and listen the port.
_Initialize.StartServer();

init文件是主要工作,它告诉系统的所有其他区域运行,停止等.

我在libs中有一个名为serverhandler.js的文件,这在init.js中是必需的,然后我创建一个服务器并将回调分配给ServerHandler.Listener.然后谁监听请求,检查文件是否存在于公共目录中,如果是,则读取块并发回.

如果在公共场所没有找到文件,那么它将创建一个Route.Create(“/ path?params”)的路由;它会阻止来自uri的3个元素,Controller,Method,Params,然后加载控制器文件(如果存在).

我采取了抛出错误页面方法

if(!FileSystem.exists(requiredPath))
{
     throw new HTTPExceptions.FileNotFound();
}

希望这有助于一些人开始使用Node.

解决方法

看一下
http://dailyjs.com/2010/11/01/node-tutorial/,它非常相关.

我建议也看看当前的模块
https://github.com/joyent/node/wiki/modules并阅读您感兴趣的领域的任何项目的代码,尤其是中间件,路由和模块加载器.

相关文章

这篇文章主要介绍“基于nodejs的ssh2怎么实现自动化部署”的...
本文小编为大家详细介绍“nodejs怎么实现目录不存在自动创建...
这篇“如何把nodejs数据传到前端”文章的知识点大部分人都不...
本文小编为大家详细介绍“nodejs如何实现定时删除文件”,内...
这篇文章主要讲解了“nodejs安装模块卡住不动怎么解决”,文...
今天小编给大家分享一下如何检测nodejs有没有安装成功的相关...