ฉันมีโครงการ ApolloServer ที่ทำให้ฉันมีปัญหาดังนั้นฉันจึงคิดว่าฉันอาจอัปเดตและพบปัญหาเมื่อใช้ Babel ล่าสุด "index.js" ของฉันคือ:
require('dotenv').config()
import {startServer} from './server'
startServer()
และเมื่อฉันเรียกใช้ฉันได้รับข้อผิดพลาด "SyntaxError: ไม่สามารถใช้คำสั่งนำเข้านอกโมดูล" ก่อนอื่นฉันพยายามทำสิ่งต่าง ๆ เพื่อโน้มน้าวใจ TPTB * ว่านี่เป็นโมดูล (ไม่สำเร็จ) ดังนั้นฉันจึงเปลี่ยน "นำเข้า" เป็น "ต้องการ" และใช้งานได้
แต่ตอนนี้ฉันมี "การนำเข้า" ประมาณสองโหลในไฟล์อื่นทำให้ฉันมีข้อผิดพลาดเดียวกัน
* ฉันแน่ใจว่าสาเหตุของปัญหาคือฉันไม่แน่ใจด้วยซ้ำว่ามีอะไรบ่นเกี่ยวกับปัญหานี้ ฉันคิดว่ามันคือบาเบล 7 (ตั้งแต่ฉันมาจากบาเบล 6 และฉันต้องเปลี่ยนค่าที่ตั้งไว้ล่วงหน้า) แต่ฉันไม่แน่ใจ 100%
สิ่งที่ฉันพบวิธีแก้ปัญหาส่วนใหญ่ดูเหมือนจะไม่ใช้กับโหนดตรง ชอบอันนี้ที่นี่:
โมดูล ES6 นำเข้าที่ให้ "Uncaught SyntaxError: ตัวระบุที่ไม่คาดคิด"
บอกว่ามันได้รับการแก้ไขโดยการเพิ่ม "type = module" แต่โดยทั่วไปแล้วสิ่งนี้จะอยู่ใน HTML ซึ่งฉันไม่มีเลย ฉันได้ลองใช้การตั้งค่าล่วงหน้าของโครงการแล้ว:
"presets": ["es2015", "stage-2"],
"plugins": []
แต่นั่นทำให้ฉันเกิดข้อผิดพลาดอีกครั้ง: "ข้อผิดพลาด: ไฟล์ปลั๊กอิน / ที่ตั้งไว้ล่วงหน้าไม่ได้รับอนุญาตให้ส่งออกวัตถุเพียงฟังก์ชั่นเท่านั้น"
UPDATE: นี่คือการอ้างอิงที่ฉันเริ่มต้นด้วย:
"dependencies": {
"@babel/polyfill": "^7.6.0",
"apollo-link-error": "^1.1.12",
"apollo-link-http": "^1.5.16",
"apollo-server": "^2.9.6",
"babel-preset-es2015": "^6.24.1",
jest.config.js
เป็น'ts-jest/presets/js-with-ts'
- ยังมีปัญหาอื่น ๆ อีก แต่สิ่งนี้แก้ไขปัญหาใหญ่ได้แล้ว ..... เอ่อเออปัญหาของฉันได้รับการทดสอบที่เกี่ยวข้อง ... ปกติสร้างได้ดี