express 설정 babel

7340 단어 자바 scriptexpress
늙 은 나무 새싹, ES6 에서 Express 사용
Express 를 ES6 에서 뛰 게 하려 면 어 쩔 수 없 이 컨버터 바벨 을 사용 해 야 한다.우선 디 렉 터 리 아래 에 새 항목 을 만 듭 니 다.그리고 이 디 렉 터 리 로 넘 어가 서 다음 작업 을 시작 합 니 다.
간단히 걷다
babel - cli 설치 $ npm install --save-dev babel-cli그리고 presets $npm install – save - dev babel - preset - es 2015 babel - preset - stage - 2 '를 설치 할 수 있 습 니 다.
이제 express 를 설치 해 야 합 니 다 $ npm install --save express우리 가 실행 할 index. js $ touch index.js 를 다시 만 듭 니 다.
다음 코드 추가
import Express from 'express';

let app = Express();

app.get('/', (req, res) => {
    res.send(`hello world!`);
});

app.listen(4321, () => {
    console.log('server running http://localhost:4321');
});

package. json 에 실행 중인 스 크 립 트 추가

"scripts": {
+   "start": "babel-node index.js --presets es2015,stage-2"
}

지금부터 우리 서버 를 실행 합 니 다.$ npm start
너 지금 있 으 면 돼.http://127.0.0.1:4321헬 로 월 드 를 봤 습 니 다.
nodemon 감시 파일 수정 사용 하기
npm start 를 수정 하여 nodemon 에 대한 인용 을 추가 할 수 있 습 니 다.
$npm install – save - dev nodemon 스 크 립 트 수정.
"scripts": {
- "start": "babel-node index.js"
+ "start": "nodemon index.js --exec babel-node --presets es2015,stage-2" 
}

서버 실행 $ npm startindex. js 를 수정 할 수 있 습 니 다. 그리고 nodemon 이 있 기 때문에 저희 server 는 수정 이 발생 한 후에 자동 으로 다시 시작 합 니 다.
server 가 실행 중 일 때 index. js 를 수정 하고 hello world 를 YO YO YO! 로 변경 합 니 다.그리고 페이지 를 새로 고침 하면 페이지 내용 은 이미 YO YO YO 입 니 다!됐어.
생산 환경 을 마련 하 다
babel - node 를 사용 하면 server 를 실행 시 킬 수 있 을 뿐 제품 환경 에 서 는 사용 할 수 없습니다.
우 리 는 우리 의 코드 를 미리 컴 파일 해 야 한다. 그러면 지금부터 생산 준 비 를 시작 하 자.
우선 index. js 파일 을 lib / index. js 로 옮 깁 니 다.$ mv index.js lib/index.js
다음은 npm start 스 크 립 트 를 수정 합 니 다.
"scripts": {
- "start": "nodemon index.js --exec babel-node --presets es2015,stage-2"
+ "start": "nodemon lib/index.js --exec babel-node --presets es2015,stage-2"
}

이것 은 아직 부족 합 니 다. task npm run build 와 npm run server 두 개 를 추가 해 야 합 니 다.
"scripts": {
 "start": "nodemon lib/index.js --exec babel-node --presets es2015,stage-2",
+ "build": "babel lib -d dist --presets es2015,stage-2",
+ "serve": "node dist/index.js"
}

이제 npm run build 를 사용 하여 사전 컴 파일 할 수 있 습 니 다.npm run server 는 제품 환경 에서 server 를 시작 할 수 있 습 니 다.$ npm run build
$ npm run server
그러면 우 리 는 babel 의 사전 컴 파일 파일 을 기다 리 지 않 고 server 를 빨리 다시 시작 할 수 있 습 니 다.
dist 디 렉 터 리 를 새로 추 가 했 습 니 다. 이 디 렉 터 리 는 git 에서 제외 해 야 합 니 다.그래서. gitignore 파일 에 dist 를 추가 합 니 다.$ touch .gitignore
dist
이렇게 하면 gist 파일 을 실수 로 업로드 하지 않도록 확보 할 수 있 습 니 다.
Babel 옵션 을. babelrc 에 저장 합 니 다.$ touch .babelrc 다음 설정 을 추가 합 니 다.
{
  "presets": ["es2015", "stage-2"], 
  "plugins": []
}

이제 npm 스 크 립 트 에서 불필요 한 옵션 을 제거 할 수 있 습 니 다.
  "scripts": {
+   "start": "nodemon lib/index.js --exec babel-node",
+   "build": "babel lib -d dist", 
    "serve": "node dist/index.js"
  }

테스트 서버
마지막 으로 서버 가 엄격 한 테스트 를 거 쳤 다 는 것 을 보증 해 야 합 니 다.
mocha 를 설치 하 다.$ npm install --save-dev mocha
테스트 코드 를 test / index. js 에 만 듭 니 다.$ mkdir test $ touch test/index.js
import http from 'http';
import assert from 'mocha';

import '../lib/index.js';

describe('Example Node Server', () => {
    it('should retur 200', done => {
        http.get('http://127.0.0.1:4321', res => {
            assert.equal(200, res.statusCode);
            done();
        });
    });
});

다음은 babel - register 를 설치 합 니 다.$ npm install --save-dev babel-register
npm test 스 크 립 트 를 추가 합 니 다.
  "scripts": {
    "start": "nodemon es6_express_app.js --exec babel-node",
    "build": "babel lib -d dist",
    "server": "node dist/index.js",
 +   "test": "mocha --compilers js:babel-register"
  }

이제 테스트 를 실행 하 겠 습 니 다.$ npm test 아래 내용 을 볼 수 있 습 니 다.
server running http://localhost:4321
  Example Node Server
    ✓ should return 200 (61ms)

1 passing (85ms) OK, 전체 문장 완료!

좋은 웹페이지 즐겨찾기