Rumah  >  Artikel  >  hujung hadapan web  >  Nodejs mencipta kemahiran program_javascript dunia hello pelayan web

Nodejs mencipta kemahiran program_javascript dunia hello pelayan web

WBOY
WBOYasal
2016-05-16 15:43:541018semak imbas

Aplikasi utama Node.js ialah pengaturcaraan pelayan.

Salah satu tujuan utama mereka bentuk Node.js adalah untuk menyediakan persekitaran pelayan yang sangat berskala. Ini adalah perbezaan antara enjin Node dan V8 yang kami perkenalkan pada permulaan bab ini. Selain menggunakan enjin V8 untuk menghuraikan JavaScript, Node juga menyediakan perpustakaan aplikasi yang sangat dioptimumkan untuk meningkatkan kecekapan pelayan. Sebagai contoh, modul HTTP telah ditulis semula dalam C khusus untuk pelayan HTTP yang pantas dan tidak menyekat. Mari kita lihat contoh klasik "Hello World" Node menggunakan pelayan HTTP

Salin kod Kod adalah seperti berikut:

var http=require('http');//Memperkenalkan modul HTTP teras

/*Buat pelayan*/

var server=http.createServer(function(req,res){
  res.writeHead(200,{"Content-type":'text/html'});
  res.end('hello world');
});

/*Memantau IP dan port*/

server.listen(8124,'127.0.0.1',function(){
  console.log('服务器创建成成功:127.0.0.1:8124');
});

Kod berjalan adalah seperti berikut

ZXD@ZXD-PC /K/work/learn/nodejs/cvs01
$ node app

Pelayan berjaya dibuat: 127.0.0.1:8124

Kod sampel ini terlebih dahulu memasukkan perpustakaan HTTP ke dalam program melalui kaedah yang diperlukan. Banyak bahasa mempunyai pendekatan ini termasuk perpustakaan lain, Node menggunakan gaya modul CommonJS.

Apa yang anda perlu fahami sekarang ialah fungsi perpustakaan HTTP telah diberikan kepada objek http.

Seterusnya, kami memerlukan pelayan HTTP. Bahasa lain seperti PHP perlu dijalankan dalam pelayan seperti Apache, tetapi Node berbeza daripada mereka kerana Node itu sendiri adalah pelayan Web.

Tetapi ini juga bermakna kita perlu membuat pelayan terlebih dahulu. Baris kod seterusnya memanggil kaedah corak kilang modul HTTP
(createServer) untuk mencipta pelayan HTTP baharu. Pelayan HTTP yang baru dibuat tidak diberikan kepada mana-mana pembolehubah, ia hanya akan menjadi objek tanpa nama yang hidup dalam skop global.

Kami boleh memulakan pelayan melalui panggilan berantai dan menyuruhnya mendengar pada port 8124. Apabila memanggil createServer, kami menghantar fungsi tanpa nama sebagai parameter. Fungsi ini terikat kepada pendengar acara pelayan yang baru dibuat untuk pemprosesan acara permintaan. Peristiwa mesej berada di tengah-tengah JavaScript dan Node. Dalam contoh ini, setiap kali permintaan akses baharu tiba di pelayan Web, ia akan memanggil kaedah fungsi yang kami tentukan untuk mengendalikannya. Kami memanggil kaedah jenis ini sebagai panggilan balik. Kerana setiap kali peristiwa berlaku, kami akan memanggil semula semua fungsi yang mendengar acara ini.

Contoh 2:

Disebabkan mengembara ke bandar lain dan tidak mempunyai komputer di tangan, rangka kerja dom tidak boleh dikeluarkan seperti yang dijadualkan, jadi ambil peluang ini untuk mempelajari sesuatu yang baharu. Keperluan paling mendesak dalam tempoh ini adalah untuk mencari bahagian belakang ultra-ringan untuk menyediakan rangka kerja saya, jadi saya menghubungi Javascrpt Sisi Pelayan yang legenda. JS bahagian belakang yang paling terkenal sudah pasti node.js oleh Ryan Dahl, dan satu lagi ialah jaxer yang dihasilkan oleh penyedia aptana IDE.

Mula-mula muat turun node.js, kemudian nyahzipnya ke pemacu E, namakan semula kepada nod, kemudian masukkan cmd dalam menu mula dan gunakan arahan cd untuk beralih ke direktori penyahmampatan nodejs:

Contoh pertama: hello dunia.

Buat fail hello.js dalam direktori nod, dan kemudian masukkan:

var sys = require("sys"); 
sys.puts("Hello world"); 

Kemudian kita masukkan nod arahan hello.js dalam platform penamaan, dan kita boleh melihat keluaran platform penamaan Hello world.

Contoh kedua: hello world2.

Baiklah, kali ini kami cuba mengeluarkan hello world daripada penyemak imbas. Cipta http.js dalam direktori nod dan masukkan:

var sys = require("sys"), 
  http = require("http"); 
http.createServer(function(request, response) { 
  response.sendHeader(200, {"Content-Type": "text/html"}); 
  response.write("Hello World!"); 
  response.close(); 
}).listen(8080); 
sys.puts("Server running at http://localhost:8080/"); 

Kemudian kami masukkan nod arahan http.js dalam platform penamaan dan http://localhost:8080/

dalam penyemak imbas

Contoh ketiga: hello world2.

node.js menyediakan kelas Penampan untuk menukar rentetan pengekodan yang berbeza.

Pada masa ini menyokong tiga jenis: 'ascii', 'utf8' dan 'binary'. Lihat di sini untuk butiran

var Buffer = require('buffer').Buffer, 
buf = new Buffer(256), 
len = buf.write('\u00bd + \u00bc = \u00be', 0); 
console.log(len + " bytes: " + buf.toString('utf8', 0, len)); 

Contoh keempat: hello world3.

//synopsis.js 
//synopsis 摘要, 梗概,大纲 
var http = require('http'); 
  
http.createServer(function (request, response) { 
 response.writeHead(200, {'Content-Type': 'text/plain'}); 
 response.end('Hello World\n'); 
}).listen(8124); 
  
console.log('Server running at http://127.0.0.1:8124/'); 

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn