• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Server Expressjs, problem z podpięciem html, css.

Object Storage Arubacloud
+1 głos
305 wizyt
pytanie zadane 17 marca 2018 w JavaScript przez wiara Nowicjusz (210 p.)

Witam,

Mam plik HTML w nim podpiete .css i .js

w head  

<link rel="stylesheet" href="main.css">

na koncu body mam wpisane 

<script src="hell.js"></script>

w pliku .js odpalilem servera w expressjs i sqlite3 

po odpaleniu pliku w cmd node server i bazadanych sie odpala, ale html i css nie są poprawnie wyświetlane.

wszystkie pliki są w tym samym dokumencie.

co robię źle?

komentarz 17 marca 2018 przez Tomek Sochacki Ekspert (227,510 p.)
a co dokładnie nie działa? W przeglądarce dopisujesz port na którym nasłuchujesz na serwerze? Zazwyczaj w tutorialach do node/express jest to port 3000 i potem musisz odpalić np. http://localhost:3000/

Serwer prawidłowo Ci się uruchamia i nasłuchuje na wskazanym porcie? Co dokładnie masz w przeglądarce w response? (zerknij do zakładki Network w konsoli)
komentarz 17 marca 2018 przez writen Nałogowiec (29,060 p.)
Pokaż kod serwera.
komentarz 17 marca 2018 przez wiara Nowicjusz (210 p.)
edycja 17 marca 2018 przez wiara
var express = require('express');
var app = express();

app.get('/', function(req, res){
   res.send("HELL WORLD!");
});

app.listen(3000);

 

 

 

komentarz 17 marca 2018 przez wiara Nowicjusz (210 p.)

@Tomek Sochacki,

ogólnie Hell World mi się wyświetla, ale ja mam plik html, chcialbym aby wyswietlala sie jego zawartosc, a z tutoriala nie zabardzo wiem jak go odtworzyc. 

kod html:

<!DOCTYPE html>
<html lang="pl">
<head>
	<meta charset="utf-8">
	<title>HELL WORLD</title>
	
	<meta http-equiv="X-Ua-Compatible" content="IE=edge,chrome=1">
	
	<link rel="stylesheet" href="main.css">

	<link href="https://fonts.googleapis.com/css?family=Lobster&amp;subset=latin-ext" rel="stylesheet">
	
	<!--[if lt IE 9]>
	<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script>
	<![endif]-->

</head>





<body>

	
	<<div id="container">
		<form>
			
			Login
			<input type="text">
			
			<br /><br />
			
			Hasło
			<input type="password">
			
			<br /><br />
			
			<input type="submit"value="Zaloguj się">
			
		</form>
	</div>
	
	
	<script src="hell.js"></script>

	
	
</body>
</html>

zapewne coś źle podpinam albo w HTMLu albo użyć komendy req i res w .js, ale nie wiem jak.

2 odpowiedzi

+2 głosów
odpowiedź 17 marca 2018 przez writen Nałogowiec (29,060 p.)
edycja 18 marca 2018 przez writen
 
Najlepsza
Przede wszystkim przeczytaj dokumentację i wskazówki tam zawarte.

Jeżeli chcesz wyświetlić jakiś plik z serwera, korzystając z routingu, musisz go wysłać metodą sendFile()
https://expressjs.com/en/4x/api.html#res.sendFile

Powinieneś sobie też utworzyć jakiś katalog ze statycznymi plikami, które będą dostępne publicznie. Postępuj według informacji zawartych tutaj https://expressjs.com/en/starter/static-files.html
komentarz 17 marca 2018 przez wiara Nowicjusz (210 p.)
okej dziękuję Wam obu za odpowiedzi
+3 głosów
odpowiedź 17 marca 2018 przez Tomek Sochacki Ekspert (227,510 p.)

Oki, skoro Hello World Ci się wyświetla to wszystko jest oki. Problem tkwi nieco w innym miejscu.

To działa tak:

Wpisując w przeglądarce adres, pewnie localhost:3000 wysyłasz żądanie do serwera, gdzie obsługuje to proces np. server.js (ten, gdzie masz kod express). Następnie serwer wysyła odpowiedź, czyli w Twoim wypadku po prostu ciąg znaków "Hello World!" i to dostajesz jak piszesz w przeglądarce - wszystko jest oki.

Ty natomiast musiałbyś wysłać nie ciąg "Hello..." ale zawatość tego pliku html. Możesz spróbować np. Twoje send zamienić na:

res.sendFile('views/site.html', {root: __dirname })

gdzie site.html to będzie właśnie ten twój plik html - tutaj zakładam też, że w folderze views.

Ale generalnie jeśli planujesz bawić się w takie pliki html to polecam poczytać o systemach szablonów do node, na przyład EJS lub dowolny inny.

Podobne pytania

0 głosów
2 odpowiedzi 742 wizyt
pytanie zadane 13 lutego 2018 w HTML i CSS przez Cezary Klauza Nowicjusz (210 p.)
0 głosów
1 odpowiedź 137 wizyt
pytanie zadane 2 sierpnia 2020 w HTML i CSS przez niezalogowany
0 głosów
3 odpowiedzi 464 wizyt
pytanie zadane 21 lipca 2015 w HTML i CSS przez asfreestyle Obywatel (1,310 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...