حاليًا ، قاعدة مشروعي على feather-cli وأحتاج إلى استخدام وحدة الاستيراد والتصدير بدلاً من require
لكنني تلقيت الخطأ SyntaxError: Unexpected token export
عندما أحاول استخدام الاستيراد والتصدير.
لقد رأيت بعض المشاكل تجعل الريش يعود إلى عوام.
أدرك أنه بعد 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
في حالة عدم رغبتك في استخدام babel-register
في وقت التشغيل.
سيستخدم التطبيق الذي تم إنشاؤه دائمًا ما يدعمه أحدث إصدار من Node (سنقوم على الأرجح بتحديثه لاستخدام async/await
للإصدار التالي). يمكنك العثور على المزيد من الأسباب الكامنة وراء عدم استخدام Babel افتراضيًا في https://github.com/feathersjs/generator-feathers/issues/31 ومناقشة في https://github.com/feathersjs/feathers-cli/issues / 91 (بما في ذلك تحديات تحديث أنظمة التشفير الخاصة بالمولد وفقًا لبناء الجملة الجديد).
باختصار ، سيؤدي استخدام وحدات ES مع Babel إلى زيادة وقت بدء التشغيل / الترجمة وربما استهلاك الذاكرة فقط لاستخدام المواصفات التي لم يتم الانتهاء من تفاصيل تنفيذها (خاصة للعقدة) بشكل كامل.
إذا كنت لا تزال ترغب في استخدامه ، فمن المحتمل أن تتمكن من تشغيل الكود الذي تم إنشاؤه من خلال محوّل وحدة الطلب إلى ES باستخدام إعداد Babel الذي أشار إليه zusamann .
تم قفل هذه المشكلة تلقائيًا نظرًا لعدم وجود أي نشاط حديث بعد إغلاقه. الرجاء فتح مشكلة جديدة مع ارتباط لهذه المشكلة للأخطاء ذات الصلة.
التعليق الأكثر فائدة
يمكنك استخدام
babel-register
لتشغيل الكود الخاص بك أثناء تشغيله.أو يمكنك ببساطة تحويل الشفرة باستخدام
babel
في حالة عدم رغبتك في استخدامbabel-register
في وقت التشغيل.