프로그래밍/Node.js 59

Node.js - URL별로 다른 HTML 페이지 제공하기

웹페이지 접속 주소 별로 다른 HTML 페이지를 제공하고 싶다면? 만약 naver.com이면 일반 pc 네이버로 접속하고 m.naver.com이면 모바일 네이버로 접속하는 것처럼.. request 객체의 url 속성을 이용하여 페이지를 구분할 수 있습니다. Index.html DOCTYPE html> Index hello node.js OtherPage.html DOCTYPE html> OtherPage hello node.js other page Node.js 서버단 server.js //모듈을 추출합니다. var http = require('http'); var fs = require('fs'); var url = require('url'); //서버를 생성 및 실행합니다. http.createSer..

Node.js - Location 속성을 이용한 페이지 강제 이동 시키기

웹페이지 접속 후 강제로 다른 사이트로 이동시키고 싶다면 응답 헤더의 Location 속성을 사용해서 구현할 수 있습니다. 예제는 서버단에서 구현을 한 뒤 크롬이나 익스플로러로 확인해보시면 됩니다. server.js //모듈을 추출합니다. var http = require('http'); //웹 서버를 생성 및 실행합니다. http.createServer(function(request, response){ //페이지 강제이동시 Location 속성을 바꿔준다, //302는 리다이렉트 status code 보통 Location 쓸때 사용함. response.writeHead(302, {'Location': 'http://www.naver.com'}); response.end(); }).listen(5227..

Node.js - 포트2개를 사용한 이미지와 음악파일 서버 만들기

서버를 동시에 2개를 만들고 싶다면 포트를 2개를 사용해야합니다. 다음 예제는 52273 포트에는 그림파일을 보여주고, 52274에는 음악파일을 재생시켜주는 예제입니다. Content-Type : image/jpeg 와 audio/mp3로 한점을 유의하고 코딩해봅시다. server.js //모듈을 추출합니다. var fs = require('fs'); var http = require('http'); //52273번 포트에 서버를 생성하고 실행합니다. http.createServer(function(request, response){ //이미지 파일을 읽습니다. fs.readFile('Chrysanthemum.jpg', function(error, data){ response.writeHead(200, ..

Node.js - File System 모듈을 이용한 HTML 페이지 제공

File System 모듈을 사용한 HTML 페이지 제공 방법입니다. 서버에 접속하면 서버에서는 HTML 파일을 읽은 다음 그 내용을 HTML 형식으로 뿌려주는 예제입니다. File System 모듈의 readFile메소드를 사용하여 html 파일을 읽습니다. writeHead(statuscode, object); 여기서 statuscode 는 다음 링크에 설명되어있습니다. http://ko.wikipedia.org/wiki/HTTP_%EC%83%81%ED%83%9C_%EC%BD%94%EB%93%9C end 메소드는 실제로 본문을 작성하는 부분입니다. server.js //모듈을 추출합니다. var fs = require('fs');//file system 모듈 불러오기 var http = require..

Node.js - mysql 데이터베이스 연동 방법

Node.js에서 MYSQL 데이터 베이스에 접근을 하려면 먼저 createConnection 메소드를 이용하여 client 객체를 생성한다. 그 후 query메소드를 이용하여 쿼리문을 날리게 된다. server_ex22_3.js파일 var mysql = require('mysql'); var client = mysql.createConnection({ user: 'root', password: 'apmsetup' }); client.query('USE Company');//Company라는 데이터 베이스 사용 //products 테이블정보 모두 표시 client.query('SELECT * FROM products', function(error, result, fields){ if(error){ con..

Node.js - EventEmitter 객체를 활용한 이벤트 생성 및 처리

Node.js에서 이벤트를 연결할 수 있는 모든 객체는 EventEmitter 객체의 상속을 받습니다. process객체도 EventEmitter 객체의 상속을 받습니다. 메소드 이름 설명 addEventListener(eventName, eventHandler) 이벤트를 연결 on(eventName, eventHandler) 이벤트를 연결 setMaxListeners(limit) 이벤트 연결 갯수 조절 removeListener(eventName, handler) 특정 이벤트의 이벤트 리스너를 제거합니다. removeAllListeners([eventName]) 모든 이벤트 리스너를 제거합니다. once(eventName, eventHandler) 이벤트를 한 번만 연결합니다. 일반적으로 이벤트를 발생..

Node.js - File System 모듈 사용하기

File System 모듈 기본적으로 File System 모듈을 사용하기 위해서 require('fs')로 모듈을 포함시키게 된다. 파일 읽기는 동기식으로는 readFileSync함수를 사용하고 비동기식은 readFile함수를 사용한다. //File System을 위한 모듈 추출 var fs = require('fs'); //동기식 파일 읽기 try { var text = fs.readFileSync('textfile.txt', 'utf8'); console.log(text); } catch (e) { console.log(e); } //비동기식 파일 읽기 var text2 = fs.readFile('textfile.txt', 'utf8', function (error, data) { if (error..

Node.js- ajax로 타 도메인과 연동 문제 / CORS(Cross-Origin Resource Sharing)

클라이언트 소스(브라우저) 1 2 3 4 5 6 7 8 9 $.ajax({ url : "192.168.48.123/api/client", type : "POST", cache : false, dataType:"json", success: function(data) { console.log(data); }, }); 오류메세지 XMLHttpRequest cannot load http://192.168.48.123/api/client. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin '192.168.48.456' is therefore not allowed access. 해결방법(서버 Node.js 소스 수..

Node.js - connect.multipart() will be removed in connect 3.0 해결법

If you are using the bodyParser middleware for handling forms, you must be getting this warning message in your Express app. 만약 bodyParser 미들웨어를 사용하면 다음의 경고 메시지를 받는다. connect.multipart() will be removed in connect 3.0 visit https://github.com/senchalabs/connect/wiki/Connect-3.0 for alternatives connect.limit() will be removed in connect 3.0 Why this warning and how do you resolve it? 이 경고 메시지를 없..

반응형