클라이언트 측 코드의 경우 올바른 일을하고 있습니다. babelify
그것을 클라이언트에게 발송하십시오.
서버 측 코드의 경우 babel-cli를 사용하여 일반 빌드를 수행합니다.
에 따르면 http://babeljs.io/docs/setup/#babel_register , babel-register
되어 생산에는 적합하지 - 훅은 주로 간단한 경우에 권장됩니다 필요합니다.
Babel 6+ 용
Babel 6부터는 기본적으로 변환이 포함되지 않습니다. 이제 babel-cli
및 babel-preset-es2015
.
$ npm install --save-dev babel-cli babel-preset-es2015
.babelrc
파일에 변형을 추가하십시오. 이것은 위에서 다운로드 한 perst 모듈입니다. 자신에게 가장 적합한 프리셋 을 확인 하려면 전체 사전 설정 목록을 살펴보십시오 .
{
"presets": ["es2015"]
}
에 build
스크립트를 추가 합니다 package.json
. 아래 src
는 입력 파일이며 build
변환 된 출력 파일입니다.
"scripts": {
"build": "babel src -d build"
}
그런 다음 구축하십시오!
$ npm run build
그런 다음 코드를 실행하십시오. 이 시점에서 build
디렉토리 의 파일을 실행하고 싶을 것입니다.
$ npm start
Babel <= 5의 경우 require 후크를 사용하십시오.
require("babel/register");
확장자가 .es6 , .es , .jsx 및 .js 인 노드에 필요한 모든 후속 파일 은 Babel에 의해 변환됩니다. polyfill는 자동으로 필요합니다.
소스 파일을 ES6에 보관할 수 있지만 여전히 다음을 사용하여 실행할 수 있습니다. node server.js
귀하의 의견에 따르면 약간의 문제가있는 것 같습니다. 위의 노란색으로 강조 표시된 부분에 특히주의하십시오. 첫 번째 파일은 노드 자체에서 실행되는 ES5 만 될 수 있습니다. 모두이후의 요구 사항 은 Babel에 의해 변형됩니다.
일반적인 설정은 다음과 같습니다.
server.js
require("babel/register");
var app = require("./app.js");
app.js
발사!
$ node server.js
require("babel/register");
내 server.js를 넣고 실행node server.js
하면 오류가 발생합니다.Unexpected reserved word: import ...
그래서 작동하지 않는 것 같습니다