मुझे एक अपोलोस्वर परियोजना मिली है जो मुझे परेशानी दे रही है, इसलिए मैंने सोचा कि मैं इसे अपडेट कर सकता हूं और नवीनतम बैबेल का उपयोग करते समय मुद्दों में भाग सकता हूं। मेरा "index.js" है:
require('dotenv').config()
import {startServer} from './server'
startServer()
और जब मैं इसे चलाता हूं तो मुझे त्रुटि मिलती है "SyntaxError: किसी मॉड्यूल के बाहर आयात विवरण का उपयोग नहीं कर सकता"। पहले मैंने टीपीटीबी को समझाने की कोशिश की * कि यह एक मॉड्यूल था (बिना किसी सफलता के)। इसलिए मैंने "आयात" को "आवश्यकता" में बदल दिया और यह काम किया।
लेकिन अब मेरे पास अन्य फाइलों में लगभग दो दर्जन "आयात" हैं जो मुझे एक ही त्रुटि दे रहे हैं।
* मुझे यकीन है कि मेरी समस्या की जड़ यह है कि मुझे यह भी निश्चित नहीं है कि समस्या के बारे में क्या शिकायत है। मैंने मान लिया कि यह बैबेल 7 था (चूंकि मैं बैबेल 6 से आ रहा हूं और मुझे प्रीसेट बदलना था) लेकिन मुझे यकीन नहीं है।
समाधान के लिए मैंने जो पाया है, उसमें से अधिकांश सीधे नोड पर लागू नहीं होते हैं। यहाँ इस तरह एक:
ES6 मॉड्यूल आयात "बिना सिंटैक्स ई-मेल: अनपेक्षित पहचानकर्ता"
कहते हैं, यह "प्रकार = मॉड्यूल" जोड़कर हल किया गया था, लेकिन यह आमतौर पर HTML में जाता है, जिनमें से मेरे पास कोई नहीं है। मैंने अपने प्रोजेक्ट के पुराने प्रीसेट का उपयोग करने की भी कोशिश की है:
"presets": ["es2015", "stage-2"],
"plugins": []
लेकिन इससे मुझे एक और त्रुटि मिलती है: "त्रुटि: प्लगिन / प्रीसेट फ़ाइलों को ऑब्जेक्ट्स को निर्यात करने की अनुमति नहीं है, केवल फ़ंक्शन।"
अद्यतन: यहाँ पर निर्भरताएँ हैं:
"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'
- अभी भी कुछ अन्य हैं लेकिन इससे बड़ा हल हो गया। ..... उह, मेरी समस्या संबंधित परीक्षण कर रही थी ... सामान्य बिल्ड ठीक थे