Софтуерно Инженерство
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