ํ์ฌ feather-cli์ ๊ธฐ๋ฐํ ๋ด ํ๋ก์ ํธ๋ require
๋์ import, export ๋ชจ๋์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
ํ์ง๋ง ๊ฐ์ ธ์ค๊ธฐ, ๋ด๋ณด๋ด๊ธฐ๋ฅผ ์ฌ์ฉํ๋ ค๊ณ ํ๋ฉด SyntaxError: Unexpected token export
์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
๋๋ ์ด๋ค ๋ฌธ์ ๊ฐ ๊นํธ์ commonjs๋ก ๋๋๋ฆฌ๋ ๊ฒ์ ๋ณด์์ต๋๋ค.
https://github.com/feathersjs/feathers/issues/608 ์น์ธ ๋ฐ ๋ณํฉ ํ ์ค๋ฅ ์์ด ๊ฐ์ ธ์ค๊ธฐ, ๋ด๋ณด๋ด๊ธฐ๋ฅผ ์ฌ์ฉํ ์ ์์์ ์ดํดํฉ๋๋ค.
๊ทธ๋์ ์ ์ง๋ฌธ์ require
๋์ ๊ฐ์ ธ์ค๊ธฐ ๋ฐ ๋ด๋ณด๋ด๊ธฐ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด ๋ฌด์์ ํ ์ ์์ต๋๊น?
babel-register
๋ฅผ ์ฌ์ฉํ์ฌ ์ฝ๋๊ฐ ์คํ๋ ๋ ๋ถํธ์คํธ๋ฉํ ์ ์์ต๋๋ค.
// package.json
}
"dependencies": {
"babel-preset-es2015": "^6.24.1",
"babel-register": "^6.24.1",
...
}
// .babelrc
{
"presets": ["es2015"]
}
md5-d9dbd6153ad663c52db1c46098188247
```js
// server.js < your actual code here
import express from 'express';
export const run () => {
const app = express()
......
}
๋๋ ๋ฐํ์์ babel-register
๋ฅผ ์ฌ์ฉํ์ง ์์ผ๋ ค๋ ๊ฒฝ์ฐ babel
๋ฅผ ์ฌ์ฉํ์ฌ ์ฝ๋๋ฅผ ๊ฐ๋จํ ํธ๋์คํ์ผํ ์ ์์ต๋๋ค.
์์ฑ๋ ์ ํ๋ฆฌ์ผ์ด์
์ ํญ์ ์ต์ ๋ฒ์ ์ Node๊ฐ ์ง์ํ๋ ๊ฒ๋ง ์ฌ์ฉํฉ๋๋ค(๋ค์ ๋ฒ์ ์์๋ async/await
์ ์ฌ์ฉํ๋๋ก ์
๋ฐ์ดํธํ ๊ฒ์
๋๋ค). ๊ธฐ๋ณธ์ ์ผ๋ก Babel์ ์ฌ์ฉํ์ง ์๋ ์ด์ ๋ https://github.com/feathersjs/generator-feathers/issues/31 ์์, ํ ๋ก ์ https://github.com/feathersjs/feathers-cli/issues ์์ ํ์ธํ ์ ์์ต๋๋ค.
์์ฝํ๋ฉด, Babel๊ณผ ํจ๊ป ES ๋ชจ๋์ ์ฌ์ฉํ๋ฉด ์์/์ปดํ์ผ ์๊ฐ์ด ์ฆ๊ฐํ๊ณ ๊ตฌํ ์ธ๋ถ ์ฌํญ(ํนํ Node์ ๊ฒฝ์ฐ)์ด ์์ ํ ํ์ ๋์ง ์์ ์ฌ์์ ์ฌ์ฉํ๊ธฐ ์ํด ๋ฉ๋ชจ๋ฆฌ ์๋น๊ฐ ๋์ด๋ ์ ์์ต๋๋ค.
์ฌ์ ํ ์ฌ์ฉํ๊ณ ์ถ๋ค๋ฉด @zusamann ์ด ์ง์ ํ Babel ์ค์ ์ผ๋ก ES ๋ชจ๋ ๋ณํ๊ธฐ์ ๋ํ ์๊ตฌ ์ฌํญ์ ํตํด ์์ฑ๋ ์ฝ๋๋ฅผ ์คํํ ์ ์์ต๋๋ค.
์ด ๋ฌธ์ ๋ ๋ซํ ํ ์ต๊ทผ ํ๋์ด ์์๊ธฐ ๋๋ฌธ์ ์๋์ผ๋ก ์ ๊ฒผ์ต๋๋ค. ๊ด๋ จ ๋ฒ๊ทธ์ ๋ํด์๋ ์ด ๋ฌธ์ ์ ๋ํ ๋งํฌ๊ฐ ์๋ ์ ๋ฌธ์ ๋ฅผ ์ฌ์ญ์์ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
babel-register
๋ฅผ ์ฌ์ฉํ์ฌ ์ฝ๋๊ฐ ์คํ๋ ๋ ๋ถํธ์คํธ๋ฉํ ์ ์์ต๋๋ค.๋๋ ๋ฐํ์์
babel-register
๋ฅผ ์ฌ์ฉํ์ง ์์ผ๋ ค๋ ๊ฒฝ์ฐbabel
๋ฅผ ์ฌ์ฉํ์ฌ ์ฝ๋๋ฅผ ๊ฐ๋จํ ํธ๋์คํ์ผํ ์ ์์ต๋๋ค.