Basit bir web sunucusu olarak node.js kullanma

Çok basit bir HTTP sunucusu çalıştırmak istiyorum. Örnek.coma yapılan her GET isteği, kendisine sunulanindex.html`i almalı, ancak normal bir HTML sayfası olarak (yani, normal web sayfalarını okuduğunuzda yaşadığınız deneyimle aynı).

Aşağıdaki kodu kullanarak index.html içeriğini okuyabilirim. index.html`i normal bir web sayfası olarak nasıl sunabilirim?

var http = require('http');
var fs = require('fs');
var index = fs.readFileSync('index.html');

http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end(index);
}).listen(9615);

Aşağıdaki önerilerden biri karmaşık ve kullanmak istediğim her kaynak (CSS, JavaScript, resimler) dosyası için bir get satırı yazmamı gerektiriyor.

Bazı resimler, CSS ve JavaScript içeren tek bir HTML sayfasını nasıl sunabilirim?

Sanırım şu anda kaçırdığınız kısım gönderiyor olmanız:

Content-Type: text/plain

HTML'yi bir web tarayıcısının oluşturmasını istiyorsanız, bunu şu şekilde değiştirmelisiniz:

Content-Type: text/html
Yorumlar (3)

Bir switch deyimi ile uğraşmak yerine, içerik türünü bir sözlükten aramanın daha temiz olduğunu düşünüyorum:

var contentTypesByExtension = {
    'html': "text/html",
    'js':   "text/javascript"
};

...

    var contentType = contentTypesByExtension[fileExtension] || 'text/plain';
Yorumlar (2)

Düzenle:

Node.js örnek uygulaması Node Chat istediğiniz işlevselliğe sahiptir.
İçinde README.textfile 3. Adım, aradığınız şeydir.

step1

  • 8002 numaralı bağlantı noktasında hello world ile yanıt veren bir sunucu oluşturun

step2

  • bir index.html oluşturun ve servis edin

step3

  • util.js'yi tanıtın
  • herhangi bir statik dosyanın sunulması için mantığı değiştirin
  • dosya bulunamaması durumunda 404 göster

step4

  • jquery-1.4.2.js ekleyin
  • client.js ekle
  • index.html dosyasını kullanıcıdan takma ad isteyecek şekilde değiştirin

İşte server.js

İşte util.js

Yorumlar (5)