웹 응용 프로그램을 만드는 절차 - Express로 편을 만들어 보세요 -
14415 단어 Node.jsExpress.js
저번에 보도된 거예요. 계속!
↓의 보도가 계속되다.
Node.js를 사용하여 웹 응용 프로그램을 만드는 절차 - 사전 지식 & 베타로 쓴 편 -
지난번에 나는 http 모듈을 읽고 베타로 서버를 시작하는 방법을 총결하였다.
이번엔 노드야.저는 js의 유명한 웹 프레임워크, Express로 웹 사이트를 구축하고 싶습니다.
node.js를 설치하지 않은 사람은 미리 설치하세요!확인 방법에 관해서는 지난번 보도 참조~~
고속 설치
그러면 먼저 Express를 설치하십시오.
우선, --version
옵션이 express를 설치했는지 확인하십시오.$ express --version
4.16.0
버전이 나타나지 않으면 Express를 설치하십시오.
자주 사용하려면 -g
옵션(전역 설치)을 추가하십시오.-g
옵션으로 설치했습니다.$ npm install -g express
그리고 공식적으로 준비한 express-generator
도 설치한다.
https://expressjs.com/ja/starter/generator.html $ npm install -g express-generator
이렇게 준비하면 완성된다.
사전 설정 작성
그렇다면 express
실제 응용 프로그램을 만들어 보세요.
임의의 디렉터리에서 다음 명령을 실행합니다.$ express [任意のアプリ名]
이번에는 first_app
라는 이름으로 제작되었다.$ express first_app
warning: the default view engine will not be jade in future releases
warning: use `--view=jade' or `--help' for additional options
create : first_app/
create : first_app/public/
create : first_app/public/javascripts/
create : first_app/public/images/
create : first_app/public/stylesheets/
create : first_app/public/stylesheets/style.css
create : first_app/routes/
create : first_app/routes/index.js
create : first_app/routes/users.js
create : first_app/views/
create : first_app/views/error.jade
create : first_app/views/index.jade
create : first_app/views/layout.jade
create : first_app/app.js
create : first_app/package.json
create : first_app/bin/
create : first_app/bin/www
change directory:
$ cd first_app
install dependencies:
$ npm install
run the app:
$ DEBUG=first-app:* npm start
그리고 first_app
라는 디렉터리가 형성되었기 때문에 지시에 따라 다음 명령을 실행합니다.$ cd first_app
$ npm install
설치는 여기서 끝냅니다.
현재, 우리는express를 실제로 실행합시다.실행DEBUG=first-app:* npm start
.
반드시 first_app
의 디렉터리에서 실행하십시오!$ DEBUG=first-app:* npm start
> [email protected] start /hoge/first_app
> node ./bin/www
first-app:server Listening on port 3000 +0ms
이런 화면이 되면 성공이다.
그럼 이렇게 방문http://localhost:3000하세요.
이런 화면이 나오면 성공!간단하네!
터미널에서도 확인200
이 반환됩니다.
참고로 방문http://localhost:3000/users하면 이런 화면일 거예요.이것은 나중에 쓸 것이니 기억하세요.
지난번 고생이 뭐야.../routes/index.js/
의 내용을 고쳐 써 보세요.
/routes/index.jsvar express = require('express');
var router = express.Router();
/* GET home page. */
router.get('/', function(req, res, next) {
- res.render('index', { title: 'express' });
+ res.render('index', { title: 'どんぶラッコ' });
});
module.exports = router;
저장한 후 서버 재부팅을 중지하고 액세스를 시도합니다http://localhost:3000.
터미널에서 ctrl + c
키를 누르면 서버를 정지할 수 있습니다.
바뀌었네!
파일 구성
파일 설정을 확인해 보겠습니다.node_modules
이외의 형식tree
명령.$ tree -I 'node_modules'
.
├── app.js
├── bin
│ └── www
├── package-lock.json
├── package.json
├── public
│ ├── images
│ ├── javascripts
│ └── stylesheets
│ └── style.css
├── routes
│ ├── index.js
│ └── users.js
└── views
├── error.jade
├── index.jade
└── layout.jade
매우 간단한 구성.
그러면 먼저 Express를 설치하십시오.
우선,
--version
옵션이 express를 설치했는지 확인하십시오.$ express --version
4.16.0
버전이 나타나지 않으면 Express를 설치하십시오.자주 사용하려면
-g
옵션(전역 설치)을 추가하십시오.-g
옵션으로 설치했습니다.$ npm install -g express
그리고 공식적으로 준비한 express-generator
도 설치한다.https://expressjs.com/ja/starter/generator.html
$ npm install -g express-generator
이렇게 준비하면 완성된다.사전 설정 작성
그렇다면 express
실제 응용 프로그램을 만들어 보세요.
임의의 디렉터리에서 다음 명령을 실행합니다.$ express [任意のアプリ名]
이번에는 first_app
라는 이름으로 제작되었다.$ express first_app
warning: the default view engine will not be jade in future releases
warning: use `--view=jade' or `--help' for additional options
create : first_app/
create : first_app/public/
create : first_app/public/javascripts/
create : first_app/public/images/
create : first_app/public/stylesheets/
create : first_app/public/stylesheets/style.css
create : first_app/routes/
create : first_app/routes/index.js
create : first_app/routes/users.js
create : first_app/views/
create : first_app/views/error.jade
create : first_app/views/index.jade
create : first_app/views/layout.jade
create : first_app/app.js
create : first_app/package.json
create : first_app/bin/
create : first_app/bin/www
change directory:
$ cd first_app
install dependencies:
$ npm install
run the app:
$ DEBUG=first-app:* npm start
그리고 first_app
라는 디렉터리가 형성되었기 때문에 지시에 따라 다음 명령을 실행합니다.$ cd first_app
$ npm install
설치는 여기서 끝냅니다.
현재, 우리는express를 실제로 실행합시다.실행DEBUG=first-app:* npm start
.
반드시 first_app
의 디렉터리에서 실행하십시오!$ DEBUG=first-app:* npm start
> [email protected] start /hoge/first_app
> node ./bin/www
first-app:server Listening on port 3000 +0ms
이런 화면이 되면 성공이다.
그럼 이렇게 방문http://localhost:3000하세요.
이런 화면이 나오면 성공!간단하네!
터미널에서도 확인200
이 반환됩니다.
참고로 방문http://localhost:3000/users하면 이런 화면일 거예요.이것은 나중에 쓸 것이니 기억하세요.
지난번 고생이 뭐야.../routes/index.js/
의 내용을 고쳐 써 보세요.
/routes/index.jsvar express = require('express');
var router = express.Router();
/* GET home page. */
router.get('/', function(req, res, next) {
- res.render('index', { title: 'express' });
+ res.render('index', { title: 'どんぶラッコ' });
});
module.exports = router;
저장한 후 서버 재부팅을 중지하고 액세스를 시도합니다http://localhost:3000.
터미널에서 ctrl + c
키를 누르면 서버를 정지할 수 있습니다.
바뀌었네!
파일 구성
파일 설정을 확인해 보겠습니다.node_modules
이외의 형식tree
명령.$ tree -I 'node_modules'
.
├── app.js
├── bin
│ └── www
├── package-lock.json
├── package.json
├── public
│ ├── images
│ ├── javascripts
│ └── stylesheets
│ └── style.css
├── routes
│ ├── index.js
│ └── users.js
└── views
├── error.jade
├── index.jade
└── layout.jade
매우 간단한 구성.
$ express [任意のアプリ名]
$ express first_app
warning: the default view engine will not be jade in future releases
warning: use `--view=jade' or `--help' for additional options
create : first_app/
create : first_app/public/
create : first_app/public/javascripts/
create : first_app/public/images/
create : first_app/public/stylesheets/
create : first_app/public/stylesheets/style.css
create : first_app/routes/
create : first_app/routes/index.js
create : first_app/routes/users.js
create : first_app/views/
create : first_app/views/error.jade
create : first_app/views/index.jade
create : first_app/views/layout.jade
create : first_app/app.js
create : first_app/package.json
create : first_app/bin/
create : first_app/bin/www
change directory:
$ cd first_app
install dependencies:
$ npm install
run the app:
$ DEBUG=first-app:* npm start
$ cd first_app
$ npm install
$ DEBUG=first-app:* npm start
> [email protected] start /hoge/first_app
> node ./bin/www
first-app:server Listening on port 3000 +0ms
var express = require('express');
var router = express.Router();
/* GET home page. */
router.get('/', function(req, res, next) {
- res.render('index', { title: 'express' });
+ res.render('index', { title: 'どんぶラッコ' });
});
module.exports = router;
파일 설정을 확인해 보겠습니다.
node_modules
이외의 형식tree
명령.$ tree -I 'node_modules'
.
├── app.js
├── bin
│ └── www
├── package-lock.json
├── package.json
├── public
│ ├── images
│ ├── javascripts
│ └── stylesheets
│ └── style.css
├── routes
│ ├── index.js
│ └── users.js
└── views
├── error.jade
├── index.jade
└── layout.jade
매우 간단한 구성..jade
파일이 배치됩니다.API 서버 node로만 사용합니다.js를 안 썼으면 안 해봤을 텐데. 라우팅 처리
이번이 마지막http://localhost:3000/rakko입니다. 끝내고 싶습니다./routes
목차를 보십시오.index.js
과users.js
가 있을 것이다.
방금 http://localhost:3000/users 방문했는데 내용이 떴죠?
네, 그건 /routes
이미 준비가 되었기 때문입니다users.js
!
즉, 제작rakko.js
하면 라우팅 처리가 가능하겠죠!?
빨리 /routes/rakko.js
이 서류를 작성하세요.코드에 관해서는 표절users.js
하자.
/routes/rakko.jsvar express = require('express');
var router = express.Router();
/* GET ラッコ listing. */
router.get('/', function(req, res, next) {
res.send('ラッコだよ!');
});
module.exports = router;
하지만 이것만으로 Not Found가 됩니다.
앱 때문에js에서rakko.js 있어요!전달이 안 돼서요.
따라서 app.js
에서 추가로 처리하자.
8행 부근에서 추가 기록var rakkoRouter = require('./routes/rakko');
var indexRouter = require('./routes/index');
var usersRouter = require('./routes/users');
var rakkoRouter = require('./routes/rakko');
제24행 부근에서 보충 기록app.use('/rakko', rakkoRouter);
하세요.app.use('/', indexRouter);
app.use('/users', usersRouter);
app.use('/rakko', rakkoRouter);
서버를 다시 시작하십시오.
그리고
제대로 표시됐어!$ DEBUG=first-app:* npm start
> [email protected] start /hoge/first_app
> node ./bin/www
first-app:server Listening on port 3000 +0ms
GET /rakko 200 6.781 ms - 18
통신도 잘 되고요.
보충:
그나저나 이 루트에 관해서는 이런 작법도 일할 수 있다.routes/index.js
에 다음 내용을 추가해 주십시오.
routes/index.jsvar express = require('express');
var router = express.Router();
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index', { title: 'どんぶラッコ' });
});
+ router.get('/rakko2', function(req, res, next) {
+ res.send('ラッコ2だよ!');
+ });
module.exports = router;
이를 바탕으로 방문http://localhost:3000/rakko2하면 잘 나타난다는 것을 알 수 있다.나 안 움직여!이런 분들은 서버가 다시 시작되었는지 확인하세요.
app.js에 추가 처리를 하지 않아도 동작합니다!
"그럼 이렇게 하자!"이 가능하다, ~할 수 있다,...
확실히 이렇게 가장 작은 응용 프로그램이라면 이 대응도 문제없지만, 페이지 수가 끊임없이 증가할 때 index.js가 너무 길어져서 처리가 이해가 안 돼요.
예를 들어 서점에 갈 때는'만화각','상무서각','참고서각'처럼 종류가 많이 나뉘어 있기 때문에 자신이 원하는 책의 장소를 파악할 수 있다.만약 이것이 어떤 종류로 분류되지 않고 무질서하게 배열되어 있다면 자신이 원하는 책의 위치를 알 수는 없겠죠?
지금부터 정리와 정돈의 수법을 익히면 앞으로의 자신에게 도움이 된다!이 단계부터 익숙해지자!!
Reference
이 문제에 관하여(웹 응용 프로그램을 만드는 절차 - Express로 편을 만들어 보세요 -), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/don-bu-rakko/items/40f1d003f4ee2e3ff4ae
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
var express = require('express');
var router = express.Router();
/* GET ラッコ listing. */
router.get('/', function(req, res, next) {
res.send('ラッコだよ!');
});
module.exports = router;
var indexRouter = require('./routes/index');
var usersRouter = require('./routes/users');
var rakkoRouter = require('./routes/rakko');
app.use('/', indexRouter);
app.use('/users', usersRouter);
app.use('/rakko', rakkoRouter);
$ DEBUG=first-app:* npm start
> [email protected] start /hoge/first_app
> node ./bin/www
first-app:server Listening on port 3000 +0ms
GET /rakko 200 6.781 ms - 18
그나저나 이 루트에 관해서는 이런 작법도 일할 수 있다.
routes/index.js
에 다음 내용을 추가해 주십시오.routes/index.js
var express = require('express');
var router = express.Router();
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index', { title: 'どんぶラッコ' });
});
+ router.get('/rakko2', function(req, res, next) {
+ res.send('ラッコ2だよ!');
+ });
module.exports = router;
이를 바탕으로 방문http://localhost:3000/rakko2하면 잘 나타난다는 것을 알 수 있다.나 안 움직여!이런 분들은 서버가 다시 시작되었는지 확인하세요.app.js에 추가 처리를 하지 않아도 동작합니다!
"그럼 이렇게 하자!"이 가능하다, ~할 수 있다,...
확실히 이렇게 가장 작은 응용 프로그램이라면 이 대응도 문제없지만, 페이지 수가 끊임없이 증가할 때 index.js가 너무 길어져서 처리가 이해가 안 돼요.
예를 들어 서점에 갈 때는'만화각','상무서각','참고서각'처럼 종류가 많이 나뉘어 있기 때문에 자신이 원하는 책의 장소를 파악할 수 있다.만약 이것이 어떤 종류로 분류되지 않고 무질서하게 배열되어 있다면 자신이 원하는 책의 위치를 알 수는 없겠죠?
지금부터 정리와 정돈의 수법을 익히면 앞으로의 자신에게 도움이 된다!이 단계부터 익숙해지자!!
Reference
이 문제에 관하여(웹 응용 프로그램을 만드는 절차 - Express로 편을 만들어 보세요 -), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/don-bu-rakko/items/40f1d003f4ee2e3ff4ae텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)