Nodejs 학습 로그(1)module 과 간단 한 render html 파일
2980 단어 네트워크 프로 그래 밍.Nodejs
우선 module 을 정리 합 니 다.모듈 자 체 는 우리 가 사용 하기에 편리 한 함수 나 클래스 의 집합 입 니 다.nodejs 자 체 는 http 와 같은 내 장 된 모듈 이 많 습 니 다.우 리 는 보통 하나의 독립 된.js 파일 을 만 들 수 있 습 니 다.
특정한 module 을 사용 하려 면 require 를 사용 하여 가 져 와 야 합 니 다.(감각 적 인 예 를 들 어 require 는 C++의\#include 와 같 습 니 다.)우리 자신의 module 에 대해 우 리 는 반드시 export 를 해야만 다른 js 파일 에서 그것 을 사용 할 수 있다.
예:
// test.js
function print(){
console.log(“hello world”);
}
models.export.print();
// print js
이 모듈 호출
// server.js( test.js )
var module1 = require(‘./test’); // .js
var http = require(‘http’); // built-in module
function onRequest(request, response){
response.writeHead(200, {‘Content-Type’: ‘text/plain’});//
response.write(‘haha’);//
module1.print();
response.end();//
}
http.createServer(onRequest).listen(8080);// 8080 port
2.http module 을 이용 하여 html 파일 보 여주 기(fs 와 http module 사용)
서버 측 이 http 요청 을 받 은 후에 사용자 가 필요 로 하 는 html 파일 을 어떻게 보 여 주 는 지 간단하게 소개 합 니 다.
여기 서 우 리 는 먼저 폴 더 test 를 만 들 고 폴 더 에 index.html 와 server.js 두 개의 파일 이 있 습 니 다.
index.html:
Hello World
server.js:
//server.js
var http = require(‘http’);
var fs = require(‘fs); //fs file system
function onRequest(req, res){
res.writeHead(200, {‘Content-Type’:’text/html’};// html, plain html 。
fs.reaFile(‘./index.html’, null, function(error,data){
if(error){
//fs
res.writeHead(404);
res.write(‘File not found!’);
}else{
//fs , index.html response
res.write(data);
}
res.end();
}
};
http.createServer(onRequest,).listen(8080);// server port 8080
이때,우 리 는 cmd 나 terminal 을 열 고 해당 폴 더 를 찾 아 node server.js 를 입력 하면 이 server 가 시 작 됩 니 다.우 리 는 브 라 우 저 를 다시 열 고 localhost:8080 을 입력 하면 우리 의 index.html 가 우리 앞 에 표 시 됩 니 다.
3. render
사용자 홈 페이지 와 같은 프레임 워 크 가 일치 하지만 구체 적 인 내용 이 다른 html 파일 을 만 났 을 때 템 플 릿 을 사용 하 는 것 을 생각 합 니 다(모든 사용자 에 게 html 파일 을 수 동 으로 만 드 는 것 은 비 현실 적 입 니 다).여기 서 제 가 선택 한 템 플 릿 은 ejs 입 니 다.
우선 ejs 를 사용 하기 위해 서 는 cmd 에 npm install ejs 를 입력 하여 ejs 를 설치 해 야 합 니 다.그 다음 에 require('express')가 있 는 js 파일 에 ejs 를 다음 과 같이 설정 합 니 다.
var express = require('express');
var app = express();
app.set('view engine', 'ejs');// ejs
app.get('/', function(request, response){
response.render('index',{name: 'Andy'});// json object
}
write 대신 render 를 사용 해 야 한 다 는 것 을 기억 하 십시오.여기 있 는'index'는 index.ejb 파일 이 아니 라 index.html 파일 을 말 합 니 다(아래 그림).
The name of user is
여기 있 는 내용 은 자 바스 크 립 트 입 니 다.우리 가 render 에서 전송 하 는 json object 를 사용 하려 면=,즉.이렇게 하면 한 세트의 템 플 릿 서비스 로 다 중 사용자 홈 페이지 를 실현 할 수 있다.