Περισσότερα
Node.js - SyntaxError: import: Μη αναμενόμενη εισαγωγή συμβόλου
Δεν καταλαβαίνω τι συμβαίνει. Κόμβος v5.6.0 NPM v3.10.6
Ο κώδικας:
function (exports, require, module, __filename, __dirname) {
import express from 'express'
};
Το σφάλμα:
SyntaxError: Unexpected token import
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:387:25)
at Object.Module._extensions..js (module.js:422:10)
at Module.load (module.js:357:32)
at Function.Module._load (module.js:314:12)
at Function.Module.runMain (module.js:447:10)
at startup (node.js:140:18)
at node.js:1001:3
388
3
Ενημέρωση 3: Από τον Node 13, μπορείτε να χρησιμοποιήσετε είτε την επέκταση .mjs, είτε να ορίσετε "type": "module" στο package.json σας. Δεν χρειάζεται να χρησιμοποιήσετε τη σημαία
--experimental-modules
.Ενημέρωση 2: Από το Node 12, μπορείτε να χρησιμοποιήσετε είτε την επέκταση
.mjs
, είτε να ορίσετε"type": "module"
στο package.json σας. Και πρέπει να τρέξετε το node με τη σημαία--experimental-modules
.Ενημέρωση: Στο Node 9, είναι ενεργοποιημένο πίσω από μια σημαία και χρησιμοποιεί την επέκταση
.mjs
.Αν και η
import
είναι πράγματι μέρος του ES6, δυστυχώς δεν υποστηρίζεται ακόμα από το NodeJS από προεπιλογή, και μόλις πολύ πρόσφατα απέκτησε υποστήριξη στους φυλλομετρητές.Βλέπε πίνακας συμβατότητας φυλλομετρητών στο MDN και αυτό το θέμα του Node.
Από το Update on ES6 Modules in Node.js του James M Snell's (Φεβρουάριος 2017):
Μέχρι να εμφανιστεί η υποστήριξη εγγενώς, θα πρέπει να συνεχίσετε να χρησιμοποιείτε τις κλασικές δηλώσεις
require
:Αν θέλετε πραγματικά να χρησιμοποιήσετε τα νέα χαρακτηριστικά του ES6/7 στο NodeJS, μπορείτε να το μεταγλωττίσετε χρησιμοποιώντας το Babel. Εδώ είναι ένα παράδειγμα διακομιστή.
Δυστυχώς, το Node.js δεν υποστηρίζει ακόμα την "εισαγωγή" του ES6.
Για να πετύχετε αυτό που προσπαθείτε να κάνετε (εισαγωγή της μονάδας Express), αυτός ο κώδικας θα πρέπει να αρκεί
Επίσης, βεβαιωθείτε ότι έχετε εγκαταστήσει το Express εκτελώντας την εντολή
Ανατρέξτε στα Node.js Docs για περισσότερες πληροφορίες σχετικά με την εκμάθηση του Node.js.
Error: SyntaxError: ή SyntaxError: export
Λύση: Αλλάξτε όλες τις εισαγωγές σας ως παράδειγμα