Вчера вечером я сбросил 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.