1. node 설치
2. express 설치
- npm install -g express-generator
- express nodetest2
3. tree
Package.json
{
"name": "nodetest2",
"version": "0.0.0",
"private": true,
"scripts": {
"start": "node ./bin/www"
},
"dependencies": {
"body-parser": "~1.13.2",
"cookie-parser": "~1.3.5",
"debug": "~2.2.0",
"express": "~4.13.1",
"jade": "~1.11.0",
"morgan": "~1.6.1",
"serve-favicon": "~2.3.0"
}
}
4. cd nodetest2 -> npm install ( 팩캐지를 이용하여 웹사이트 틀을 만들어준다. )
5. mkdir data
6. views / jade . jquery, script 추가
script(src='http://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js')
script(src='/javascripts/global.js')
7. /public/javascripts/global.js 생성
8. css 변경
9. index.jade 수정 ( 문법 중요!. 들어씌기 부터 )
extends layout
block content
h1= title
p Welcome to our test
#wrapper
h2 User List
#userList
table
thead
th UserName
th Email
th Delete?
tbody
9 .npm start
10. 몽고 디비 설치
https:
11. 몽고 접속
use nodetest2
-점속 db.userlist.insert({'username' : 'test1','email' : 'test1@test.com','fullname' : 'Bob Smith','age' : 27,'location' : 'San Francisco','gender' : 'Male'})
12. npm start 후
http:
13. REST 는 ?
13-1. HTTP 메서드 를 명시한거다. ( POST, GET, OPTIONS. DELETE , PUT ... ) 메서드
13-2. 상태값이 없다. ( bestateless )
13-3. URL 를 디렉토리 구조처럼 uri 를 구성한다. : type=video&game=skyrim&pid=68 ==> files/viedo/skyrim/68
13-4. XML, JSON 방식으로 데이터를 전송 한다.
14. showUserInfo 구현
function showUserInfo(event) {
event.preventDefault();
var thisUserName = $(this).attr('rel');
var arrayPosition = userListData.map(function(arrayItem) { return arrayItem.username; }).indexOf(thisUserName);
var thisUserObject = userListData[arrayPosition];
$('#userInfoName').text(thisUserObject.fullname);
$('#userInfoAge').text(thisUserObject.age);
$('#userInfoGender').text(thisUserObject.gender);
$('#userInfoLocation').text(thisUserObject.location);
};
15. index.jade 수정
extends layout
block content
h1= title
p Welcome to our test
#wrapper
#userInfo
h2 User Info
p
strong Name:
|
br
strong Age:
|
br
strong Gender:
|
br
strong Location:
|
h2 User List
#userList
table
thead
th UserName
th Email
th Delete?
tbody
16. User 추가 소스 삽입
router.post('/adduser', function(req, res) {
var db = req.db;
var collection = db.get('userlist');
collection.insert(req.body, function(err, result){
res.send(
(err === null) ? { msg: '' } : { msg: err }
);
});
});