Как обслуживать контент с помощью node.js, не требуя инфраструктуры или библиотеки?


10

Я пытаюсь изучить node.js и создать веб-приложение, и, хотя я прилагаю все усилия, чтобы просто использовать только node.js для его создания, мне очень трудно найти ресурсы и примеры, которые описывают процесс без использования других платформ или библиотек.

В частности, как я могу обслуживать контент HTML и CSS, не используя жестко запрограммированные строковые переменные, но обслуживая файлы HTML и CSS динамически, используя только node.js?

Ответы:


7

Здесь вы создадите простое приложение без использования каких-либо фреймворков. Рекомендуется получить первое прикосновение к узлу: Книга для начинающих по Node »Подробное руководство по Node.js

Цель этого документа - помочь вам начать разработку приложений с Node.js, обучая вас всему, что вам нужно знать о «продвинутом» JavaScript на этом пути. Это выходит далеко за рамки вашего типичного учебника "Hello World" ...

Этот документ, вероятно, лучше всего подойдет для читателей, которые имеют опыт, схожий с моим: опыт работы по крайней мере с одним объектно-ориентированным языком, таким как Ruby, Python, PHP или Java, только небольшой опыт работы с JavaScript и совершенно новый для Node.js.

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

Однако, поскольку функции и объекты в JavaScript отличаются от своих аналогов в большинстве других языков, они будут объяснены более подробно ...

Реализованный там URL-маршрутизатор может быть легко расширен для обслуживания статических файлов, используя fsмодуль для чтения их на диске.


1
Он имеет хорошее объяснение маршрутизации, но жестко запрограммированные html и статические файлы не так интересны. Было бы неплохо знать принципы динамического генерирования страниц (без импорта каких-либо сторонних библиотек).
SerG

2

Из того, что я понимаю, вы пытаетесь создать статический файловый сервер самостоятельно. Эта суть может быть хорошей отправной точкой. Он не дает никакого объяснения кода, но его легко понять. Например, взгляните на этот кусок кода

var http = require("http"),
url = require("url"),
path = require("path"),
fs = require("fs")
port = process.argv[2] || 8888; 

Здесь требуется 4 модуля. Теперь, чтобы узнать больше об этих модулях, все, что вам нужно сделать, - это зайти в узел js api docs и прочитать о них больше. API узла js очень маленький, и это лучший способ изучить его.

Кроме того, хотя это может быть очень хорошим обучающим упражнением для создания собственного сервера, вы должны использовать уже созданную библиотеку для производства.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.