한 시간 안에 Node+Express+MongoDB로 웹 앱을 만드세요.
하나, 환경 구축
1단계: Node.js 설치
node.js 공식 사이트를 클릭하여 사용중인 OS를 자동 감지하기 때문에 설치 버튼을 누르기 만하면됩니다.
htps : // 그래서 js. 오 rg/엔/
설치 파일을 다운로드하고 실행하면 Node.js와 자주 사용되는 패키지 관리자의 NPM도 설치됩니다.
mac의 경우 terminal, windows의 경우 command prompt를 열고 web 앱을 저장하는 directory를 cd합시다.
(예:/Users/webapp)
2단계: Express & Express Generator 설치
npm -g express
npm -g express-generator
3단계: MongoDB 설치
이것으로 DB에 액세스 할 수있는 web 앱이 움직일 수있는 환경 구축이 완료되었습니다.
이어서 웹 앱을 만드세요.
둘째, 'Hello World' 웹 앱 만들기
Step 1 : Express generator를 활용하여 web app의 병아리를 작성
express app1
app1이라는 폴더가 만들어졌는지 확인해 봅시다.
2단계: app1 폴더로 이동
cd ~/app1
3단계: 앱이 실행되는 dependency 설치
npm install
4단계: 앱 시작
npm start
스텝 5:web app의 가동 확인
를 방문하여 아래 화면이 나오는지 확인하세요.
6단계: hello world 출력
~/app3/routers/index.js를 열고 아래 코드가 있는지 확인합니다.
var express = require('express');
var router = express.Router();
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index', { title: 'Express' });
});
module.exports = router;
위의 module.exports=router 줄 앞에 다음 코드를 추가합니다.
/* GET Hello World page. */
router.get('/helloworld', function(req, res) {
res.render('helloworld', { title: 'Hello, World!' });
});
~app3/views/에 hellowrold.jade라는 새 파일을 만듭니다. 내용은
extends layout
block content
h1= title
p Welcome to #{title}
로 저장합니다.
http://localhost:3000/helloworld
방문하여 'hello world'의 메시지를 확인하세요.
셋째, MongoDB 데이터 얻기
1단계: 서버를 닫고 MongoDB에 액세스하는 패키지 추가
~app1/package.json을 열고,
{
"name": "app3",
"version": "0.0.0",
"private": true,
"scripts": {
"start": "node ./bin/www"
},
"dependencies": {
"body-parser": "~1.17.1",
"cookie-parser": "~1.4.3",
"debug": "~2.6.3",
"express": "~4.15.2",
"jade": "~1.11.0",
"morgan": "~1.8.1",
"serve-favicon": "~2.4.2"
}
}
다음과 같이 mongodb 모듈을 추가합니다.
{
"name": "app3",
"version": "0.0.0",
"private": true,
"scripts": {
"start": "node ./bin/www"
},
"dependencies": {
"body-parser": "~1.17.1",
"cookie-parser": "~1.4.3",
"debug": "~2.6.3",
"express": "~4.15.2",
"mongodb": "^2.2.25",
"monk": "^4.0.0",
"jade": "~1.11.0",
"morgan": "~1.8.1",
"serve-favicon": "~2.4.2"
}
}
ternimal로 돌아가서 npm install을 실행하고 추가 한 모듈을 설치하십시오.
2 단계 : MongoDB 데이터를 저장하는 디렉토리 생성
~/app1/data로 디렉토리 만들기
3단계: MongoDB 데이터베이스 생성
~/mongodb/bin으로 이동하여 mongo 경로를 설정하고 서버를 시작합니다.
mongod --dbpath ~/app1/data/
다른 ternimal을 열고 app1이라는 데이터베이스를 만듭니다.
use app1db
4단계: 데이터베이스에 데이터 추가
mongodb에서 처리할 수 있는 데이터의 형식은 json 형식입니다.
{
user:user1,
e-mail:[email protected]
}
위의 데이터를 app1db에 추가합니다.
db.usercollection.insert({"user":"user1","e-mail":"[email protected]"})
5단계: app1db와 app1을 연결
~/app1/app.js에서 처음 몇 줄을 확인하십시오.
var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
mongodb와 연결하기 위해 다음 코드 추가
// New Code
var mongo = require('mongodb');
var monk = require('monk');
var db = monk('localhost:27017/app1db');
그런 다음 app1db가 app1에 액세스하도록 설정
app.use(function(req,res,next){
req.db = db;
next();
});
라는 코드
app.use('/', index);
app.use('/users', users);
위에 삽입합니다.
6단계: app1db에 있는 데이터를 app1에서 가져오기
~/app1/routes/index.js를 열고 아래 코드를 추가합니다.
/* userlist htmlページを作成 */
router.get('/userlist', function(req, res) {
var db = req.db;
var collection = db.get('usercollection');
collection.find({},{},function(e,docs){
res.render('userlist', {
"userlist" : docs
});
});
});
~/app1/views/에 userlist.jade를 새로 만들고 아래 코드를 넣습니다. 여기 jade 엔진을 사용하고 있으므로 의도에주의하십시오.
extends layout
block content
h1.
User List
ul
each user, i in userlist
li
a(href="mailto:#{user.e-mail}")= user.user
7단계: 가져온 데이터 확인
npm start
http://localhost:3000/userlist
아래 페이지가 나왔습니다. 이것은 mongodb에서 가져온 데이터입니다.
이상으로 Node+Express+MongoDB의 웹 앱을 만들었습니다.
참고:
Reference
이 문제에 관하여(한 시간 안에 Node+Express+MongoDB로 웹 앱을 만드세요.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hairui/items/5e3c4de1f7e9dbf14d16
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Step 1 : Express generator를 활용하여 web app의 병아리를 작성
express app1
app1이라는 폴더가 만들어졌는지 확인해 봅시다.
2단계: app1 폴더로 이동
cd ~/app1
3단계: 앱이 실행되는 dependency 설치
npm install
4단계: 앱 시작
npm start
스텝 5:web app의 가동 확인
를 방문하여 아래 화면이 나오는지 확인하세요.
6단계: hello world 출력
~/app3/routers/index.js를 열고 아래 코드가 있는지 확인합니다.
var express = require('express');
var router = express.Router();
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index', { title: 'Express' });
});
module.exports = router;
위의 module.exports=router 줄 앞에 다음 코드를 추가합니다.
/* GET Hello World page. */
router.get('/helloworld', function(req, res) {
res.render('helloworld', { title: 'Hello, World!' });
});
~app3/views/에 hellowrold.jade라는 새 파일을 만듭니다. 내용은
extends layout
block content
h1= title
p Welcome to #{title}
로 저장합니다.
http://localhost:3000/helloworld
방문하여 'hello world'의 메시지를 확인하세요.
셋째, MongoDB 데이터 얻기
1단계: 서버를 닫고 MongoDB에 액세스하는 패키지 추가
~app1/package.json을 열고,
{
"name": "app3",
"version": "0.0.0",
"private": true,
"scripts": {
"start": "node ./bin/www"
},
"dependencies": {
"body-parser": "~1.17.1",
"cookie-parser": "~1.4.3",
"debug": "~2.6.3",
"express": "~4.15.2",
"jade": "~1.11.0",
"morgan": "~1.8.1",
"serve-favicon": "~2.4.2"
}
}
다음과 같이 mongodb 모듈을 추가합니다.
{
"name": "app3",
"version": "0.0.0",
"private": true,
"scripts": {
"start": "node ./bin/www"
},
"dependencies": {
"body-parser": "~1.17.1",
"cookie-parser": "~1.4.3",
"debug": "~2.6.3",
"express": "~4.15.2",
"mongodb": "^2.2.25",
"monk": "^4.0.0",
"jade": "~1.11.0",
"morgan": "~1.8.1",
"serve-favicon": "~2.4.2"
}
}
ternimal로 돌아가서 npm install을 실행하고 추가 한 모듈을 설치하십시오.
2 단계 : MongoDB 데이터를 저장하는 디렉토리 생성
~/app1/data로 디렉토리 만들기
3단계: MongoDB 데이터베이스 생성
~/mongodb/bin으로 이동하여 mongo 경로를 설정하고 서버를 시작합니다.
mongod --dbpath ~/app1/data/
다른 ternimal을 열고 app1이라는 데이터베이스를 만듭니다.
use app1db
4단계: 데이터베이스에 데이터 추가
mongodb에서 처리할 수 있는 데이터의 형식은 json 형식입니다.
{
user:user1,
e-mail:[email protected]
}
위의 데이터를 app1db에 추가합니다.
db.usercollection.insert({"user":"user1","e-mail":"[email protected]"})
5단계: app1db와 app1을 연결
~/app1/app.js에서 처음 몇 줄을 확인하십시오.
var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
mongodb와 연결하기 위해 다음 코드 추가
// New Code
var mongo = require('mongodb');
var monk = require('monk');
var db = monk('localhost:27017/app1db');
그런 다음 app1db가 app1에 액세스하도록 설정
app.use(function(req,res,next){
req.db = db;
next();
});
라는 코드
app.use('/', index);
app.use('/users', users);
위에 삽입합니다.
6단계: app1db에 있는 데이터를 app1에서 가져오기
~/app1/routes/index.js를 열고 아래 코드를 추가합니다.
/* userlist htmlページを作成 */
router.get('/userlist', function(req, res) {
var db = req.db;
var collection = db.get('usercollection');
collection.find({},{},function(e,docs){
res.render('userlist', {
"userlist" : docs
});
});
});
~/app1/views/에 userlist.jade를 새로 만들고 아래 코드를 넣습니다. 여기 jade 엔진을 사용하고 있으므로 의도에주의하십시오.
extends layout
block content
h1.
User List
ul
each user, i in userlist
li
a(href="mailto:#{user.e-mail}")= user.user
7단계: 가져온 데이터 확인
npm start
http://localhost:3000/userlist
아래 페이지가 나왔습니다. 이것은 mongodb에서 가져온 데이터입니다.
이상으로 Node+Express+MongoDB의 웹 앱을 만들었습니다.
참고:
Reference
이 문제에 관하여(한 시간 안에 Node+Express+MongoDB로 웹 앱을 만드세요.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hairui/items/5e3c4de1f7e9dbf14d16
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
{
"name": "app3",
"version": "0.0.0",
"private": true,
"scripts": {
"start": "node ./bin/www"
},
"dependencies": {
"body-parser": "~1.17.1",
"cookie-parser": "~1.4.3",
"debug": "~2.6.3",
"express": "~4.15.2",
"jade": "~1.11.0",
"morgan": "~1.8.1",
"serve-favicon": "~2.4.2"
}
}
{
"name": "app3",
"version": "0.0.0",
"private": true,
"scripts": {
"start": "node ./bin/www"
},
"dependencies": {
"body-parser": "~1.17.1",
"cookie-parser": "~1.4.3",
"debug": "~2.6.3",
"express": "~4.15.2",
"mongodb": "^2.2.25",
"monk": "^4.0.0",
"jade": "~1.11.0",
"morgan": "~1.8.1",
"serve-favicon": "~2.4.2"
}
}
{
user:user1,
e-mail:[email protected]
}
db.usercollection.insert({"user":"user1","e-mail":"[email protected]"})
var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
// New Code
var mongo = require('mongodb');
var monk = require('monk');
var db = monk('localhost:27017/app1db');
app.use(function(req,res,next){
req.db = db;
next();
});
app.use('/', index);
app.use('/users', users);
/* userlist htmlページを作成 */
router.get('/userlist', function(req, res) {
var db = req.db;
var collection = db.get('usercollection');
collection.find({},{},function(e,docs){
res.render('userlist', {
"userlist" : docs
});
});
});
extends layout
block content
h1.
User List
ul
each user, i in userlist
li
a(href="mailto:#{user.e-mail}")= user.user
Reference
이 문제에 관하여(한 시간 안에 Node+Express+MongoDB로 웹 앱을 만드세요.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hairui/items/5e3c4de1f7e9dbf14d16텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)