Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

a2tonev avatar a2tonev 1 Точки

ExpressJS въпрос за Lab 16.05

Здравейте,

И предварително извинявайте за въпросите - по-добре да продължа с тях, отколкото да си остана с некомпетентността (rite). Stuck-нал съм доста рано на lab-а от 16-ти - Точка 5.

Нещо като дебъгвам - (read слагам console.log на различни места), в handlers/static-files.js, req.pathname правилно log-ва пътя към site.css, но F12 networking показва незавършен req към css-а (който накрая абортва). Мисля че съм ги сложил правилно в html-а във views (мисля ==! сигуренсъм), но handler-a за static-files.js -> функцията getContentType (която се вика във fs.readFile, при success) дефакто вмомента е просто празна. Ето го първия геройски тъп въпрос - сам ли трябва да си я implement-на?
lab doc-a казва, че би трябвало да захапе и да се покаже правилно форматирано, но GET site.css зарежда доста повече отколкото би трябвало (оставям го в background, далеч не е mseconds) и накрая просто ми показва plain html-a.

Другия ми въпрос е свързан с root index.js-а.
на 9ти ред има един if statement, в който условието е !handler(req, res), под него логвам прост стринг, за да видя защо точно използваме ! логика - ако е просто if (handler... логвам един път стринга, ако е if (!handler... го логвам два пъти(edit ... 3,4 сигурно ако го оставя ще продължава да го логва) - със сигурност има някаква грешка при мен, ще я намеря).

Ще прегледам отново файловете и съдържанието им, за да сравня с doc-а и дали не съм прецакал простия copy процес, но ще се радвам на всякакъв тип коментари, разговори и предложения за collabs -> much needed, much appreciated.

Отворен съм (даже се радвам на опцията) за ЛС и всякакви форми на контакт (ако някой се надъха - давайте да правим Slack room и вътре да се лее на различни нива node/expressJS code), искам да разпиша и имам разбера доста код и възможността да говоря с други хора по темите ще улесни (няма да го замени) процеса на учене. Можете да пишете във FB - Apostol Tonev, една синя профилна снимка и само track-ове във feed-а.

P.S. конструктивна критика като read the flaming manuals и "погледни това и тук и ако пак не разбираш - прочети го отново" също се приема, целта ми е да уча, така че всякаквно внимание е добре дошло!

Поздрави

Тагове:
0
Express.js Web Development
Silvave avatar Silvave 127 Точки

Здравей,

За да ти зареди css-a и иконката, освен че трябва да ги реферираш в html-a трябва и да ги заредиш през handler-a, където обработваш GET заявката. Там трябва също да попълниш логиката на getContentType функцията, която цели да върне правилният content type на въпросният документ (.css/.ico), който пращаш, иначе просто ще зарежда много време и накрая ще прекрати заявката, защото не е върнат никакъв Content-Type на докумета и браузъра "не може да го прочете". Т.е. фунцията ти трябва да съдържата следната логика - ако файла е css върни 'text/css' или ако файла ти е .ico върни 'image/x-icon'. Ако ти потрябва ето и кода на целият static-files handler - https://pastebin.com/V2ZNubRJ. Също може да влезнеш във facebook групата на модула - https://www.facebook.com/groups/1038553572913210/, където колегите също обсъждат теми по JS Web module.

0
20/05/2017 20:15:30
a2tonev avatar a2tonev 1 Точки

Много благодаря за добрия отговор [: Значи трябва да се занимавам с повече JS и да експериментирам, а където видя коментар да работя над решение.
Поздрави!

1
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.