สำหรับโค้ดฝั่งไคลเอ็นต์คุณกำลังทำสิ่งที่ถูกต้อง 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("babel/register");
ไฟล์ทั้งหมดที่ตามมาต้องตามโหนดกับนามสกุล.es6 , .es , .jsxและ.jsจะถูกเปลี่ยนโดยบาเบล polyfillยังเป็นสิ่งจำเป็นโดยอัตโนมัติ
คุณจะสามารถเก็บไฟล์ต้นฉบับของคุณไว้ใน ES6 แต่ยังคงดำเนินการโดยใช้ไฟล์ node server.js
ตามความคิดเห็นของคุณดูเหมือนว่าคุณจะมีปัญหาเล็กน้อย ให้ความสนใจเป็นพิเศษกับส่วนที่เน้นสีเหลืองด้านบน ไฟล์แรกของคุณต้องเป็น ES5 เท่านั้นซึ่งรันโดยโหนดเอง ความต้องการที่ตามมาทั้งหมดจะถูกเปลี่ยนโดย Babel ...
นี่คือลักษณะของการตั้งค่าทั่วไป
เซิร์ฟเวอร์ js
require("babel/register");
var app = require("./app.js");
app.js
จุดไฟ!
$ node server.js
require("babel/register");
เซิร์ฟเวอร์ js ของฉันและเมื่อฉันเรียกใช้node server.js
ฉันได้รับข้อผิดพลาด:Unexpected reserved word: import ...
ดูเหมือนว่าจะไม่ทำงาน