>  기사  >  웹 프론트엔드  >  Nodejs는 웹 서버 hello world program_javascript 기술을 생성합니다.

Nodejs는 웹 서버 hello world program_javascript 기술을 생성합니다.

WBOY
WBOY원래의
2016-05-16 15:43:541018검색

Node.js의 주요 애플리케이션은 서버 프로그래밍입니다.

Node.js를 설계하는 주요 목적 중 하나는 확장성이 뛰어난 서버 환경을 제공하는 것입니다. 이것이 이 장의 시작 부분에서 소개한 Node와 V8 엔진의 차이점입니다. V8 엔진을 사용하여 JavaScript를 구문 분석하는 것 외에도 Node는 고도로 최적화된 애플리케이션 라이브러리를 제공하여 서버 효율성을 향상시킵니다. 예를 들어, HTTP 모듈은 빠르고 비차단 HTTP 서버를 위해 특별히 C로 다시 작성되었습니다. HTTP 서버를 사용하는 Node의 고전적인 “Hello World” 예제를 살펴보겠습니다.

코드 복사 코드는 다음과 같습니다.

var http=require('http');//핵심 HTTP 모듈 소개

/*서버 생성*/

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

/*IP 및 포트 모니터링*/

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

실행 코드는 다음과 같습니다

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

서버가 성공적으로 생성되었습니다: 127.0.0.1:8124

이 샘플 코드는 먼저 require 메소드를 통해 HTTP 라이브러리를 프로그램에 포함시킵니다. 많은 언어에는 다른 라이브러리를 포함하는 이러한 접근 방식이 있으며 Node는 CommonJS 모듈 스타일을 사용합니다.

이제 이해해야 할 것은 HTTP 라이브러리의 기능이 http 객체에 할당되었다는 것입니다.

다음으로 HTTP 서버가 필요합니다. PHP 등 다른 언어는 아파치 같은 서버에서 구동해야 하는데, 노드는 노드 자체가 웹 서버이기 때문에 그것과 다르다.

하지만 이는 서버를 먼저 만들어야 함을 의미하기도 합니다. 다음 코드 줄은 HTTP 모듈의 팩토리 패턴 메서드를 호출합니다
(createServer)를 사용하여 새 HTTP 서버를 생성합니다. 새로 생성된 HTTP 서버는 어떤 변수에도 할당되지 않으며 전역 범위에 있는 익명 개체만 됩니다.

체인 호출을 통해 서버를 초기화하고 포트 8124에서 수신하도록 지시할 수 있습니다. createServer를 호출할 때 익명 함수를 매개변수로 전달합니다. 이 함수는 요청 이벤트 처리를 위해 새로 생성된 서버의 이벤트 리스너에 바인딩됩니다. 메시지 이벤트는 JavaScript와 Node.js의 핵심입니다. 이 예에서는 새로운 액세스 요청이 웹 서버에 도착할 때마다 이를 처리하기 위해 지정한 함수 메서드를 호출합니다. 우리는 이러한 유형의 메소드를 콜백이라고 부릅니다. 이벤트가 발생할 때마다 이 이벤트를 수신하는 모든 함수를 콜백하기 때문입니다.

예 2:

다른 도시로 여행을 가는데 컴퓨터가 없어 예정대로 DOM 프레임워크를 출시할 수 없으니 이번 기회에 새로운 것을 배워보세요. 이 기간 동안 가장 긴급하게 필요한 것은 프레임워크를 설정하기 위한 초경량 백엔드를 찾는 것이었습니다. 그래서 저는 전설적인 서버 측 Javascrpt에 연락했습니다. 가장 유명한 백엔드 JS는 의심할 여지 없이 Ryan Dahl의 node.js이고, 다른 하나는 aptana IDE 제공업체가 제작한 jaxer입니다.

먼저 node.js를 다운로드한 다음 E 드라이브에 압축을 풀고 node로 이름을 바꾼 다음 시작 메뉴에 cmd를 입력하고 cd 명령을 사용하여 nodejs 압축 해제 디렉터리로 전환합니다.

첫 번째 예: Hello World.

노드 디렉터리에 hello.js 파일을 생성한 후 다음을 입력하세요.

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

그런 다음 명명 플랫폼에 node hello.js 명령을 입력하면 명명 플랫폼 출력 Hello world를 볼 수 있습니다.

두 번째 예: hello world2.

자, 이번에는 브라우저에서 hello world를 출력해 보겠습니다. 노드 디렉터리에 http.js를 만들고 다음을 입력하세요.

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/"); 

그런 다음 이름 지정 플랫폼에 node http.js 명령을 입력하고 브라우저에 http://localhost:8080/

을 입력합니다.

세 번째 예: hello world2.

node.js는 다양한 인코딩의 문자열을 변환하기 위한 Buffer 클래스를 제공합니다.

현재 'ascii', 'utf8', 'binary' 세 가지 유형을 지원합니다. 자세한 내용은 여기를 참조하세요

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)); 

네 번째 예: 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/'); 

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.