Работа с Node.JS

Вчера вечером я сбросил Windows 7 и отформатировал свой жесткий драйвер для переноса на операционную систему на базе Linux. Исключительно по причинам, с которыми я хотел начать работать с Node.JS

Итак, я установил Node.JS и проделал несколько тестов, HTTP-сервер, сокеты и т. Д.


Пока что мое 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 Основанные на веб-приложениях, поэтому, используя этот метод, я чувствую себя комфортно.

Файл запуска выполняется узлом в качестве точки входа, запуск узла и и выглядит так:

/*
    * 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();

файл инициализации основная работа, это то, что сообщает всем остальным областям системы, что нужно запускать, останавливать и т. д.

У меня есть файл в библиотеках с именем serverhandler.js, , и он требуется в init.js, затем я создайте сервер и назначьте обратный вызов ServerHandler.Listener . Кто затем слушает запросы, проверяет, существует ли файл в общедоступном каталоге, если это так, он затем читает по частям и отправляет обратно.

если файл не был найден в открытом доступе, он затем создает маршрут с помощью Route.Create ("/ path? params"); который удерживает 3 элемента, Controller, Method, Params из uri, а затем загружаются файлы контроллера, если они существуют.

Я выбрал метод выдачи страниц с ошибками следующим образом:

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

Надеюсь, это поможет некоторым людям получить запущен в Node.

8
задан RobertPitt 9 May 2012 в 01:04
поделиться