Babel
Babel? ๐ฏ
ํ์๋ฐฐ๊ฒฝ
IE์์๋ง ํด๋ ES6์ ๋ฌธ๋ฒ๋ค์ ์ง์ํ์ง์๋๋ค. ๊ทธ๋ ๊ธฐ์ ES6 ๋ฌธ๋ฒ๋ค๋ก ๊ตฌ์ฑ๋ ์ฝ๋๋ค์ IE์์๋ ์ ๋๋ก๋ ๊ธฐ๋ฅ์ ํ์ง๋ชปํ ๊ฒ์ด๋ค.
๊ทธ๋ ๊ธฐ์ ๊ฐ๋ฐ์๋ค์๊ฒ ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ง ์ด์๋ ์ฝ๋์ ์ผ๊ด์ฑ๋ ๋ง๊ฐํธ๋ฆฌ๊ณ ํผ๋์ค๋ฝ๊ฒ ๋ง๋๋ ์์ ์ค ํ๋์ด๋ค.
์ด๋ฌํ ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ง ์ด์๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์๊ฒจ๋ ํด์ด ๋ฐ๋ฒจ์ด๋ค
๋ธ๋ผ์ฐ์ ๋ณ ES6 ์ง์ํํฉ click
์ฌ์ฉ๋ฐฉ๋ฒ
npm install @babel/node
โก๏ธ Babel-node๋ Babel-cli์์ ๋
๋ฆฝ๋ ๋ชจ๋๋ก node cli(Command-lind Interface) ์ฒ๋ผ ๋์ํจ. ์ด์ ๋ฐ๋ผ node index.js ๋ช
๋ น์ด๋ฅผ babel-node index.js๋ก ์ธ ์ ์์. ๋ฟ๋ง ์๋๋ผ Node.js ์คํ ์ Babel์ ์ค์ ๊ณผ ํ๋ฌ๊ทธ์ธ์ ๊ณ ๋ คํ์ฌ ์ปดํ์ผ ํด์ฃผ๋ ์ด์ ์ด ์์. ( ์ฃผ์) ๋ฌด๊ฒ๊ธฐ๋๋ฌธ์ ๊ฐ๋ฐ๋จ๊ณ์์๋ง ํ์ธ์ฉ์ผ๋ก ์ฌ์ฉ )
npm install @babel/core
โก๏ธ ๋ฐ๋ฒจ(Babel)์ ํต์ฌ(์ฃผ์) ๊ธฐ๋ฅ๋ค์ ๋ด๊ณ ์๋ ๋ชจ๋
npm install @babel/preset-env
โก๏ธ ํ๋ฆฌ์
(Preset)์ ๋ฐ๋ฒจ(Babel) ํ๋ฌ๊ทธ์ธ(Plugin) ๋ค์ ๋ฌถ์(Bundle)๋ก ๋ง๋ค์ด๋์ ๊ฒ. ํ๋ฆฌ์
(Preset)์ ํตํด ๊ฐํธํ๊ฒ Trans File ์ค์ ์ ํ ์ ์์. ์ฌ๊ธฐ์๋ ๋ฒ์ฉ์ ์ผ๋ก ์ฐ์ด๋ env ํ๋ฆฌ์
์ ์ฌ์ฉ
.babelrc
{
"presets": ["@babel/preset-env"]
}
package.json
"scripts": {
"start": "nodemon server.js --exec babel-node "
}
server.js
import express from "express"
// ES6 import ๋ฌธ๋ฒ ์ฌ์ฉ
// const express = require('express'); -> import express from "express"
const app = express();
const PORT = 4000;
const home = (req, res) => {
res.send(`Welcome to my Home!`);
}
app.get('/', home);
const Listening = () => {
console.log(`Listening on: http://localhost:${PORT}`);
}
app.listen(PORT, Listening);
๋