de-vraag
  • Pytania
  • Tagi
  • Użytkownicy
Powiadomienia
Nagrody
Rejestracja
Po zarejestrowaniu się, będziesz otrzymywać powiadomienia o odpowiedziach i komentarzach do swoich pytań.
Zaloguj się
Brak tłumaczeń pasujących do Twojego wyszukiwania Jeśli masz już konto, zaloguj się, aby sprawdzić nowe powiadomienia.
Za dodane pytania, odpowiedzi i komentarze przewidziane są nagrody.
Więcej
Źródło
Edytuj
 SofDroid
SofDroid
Question

Node.js - SyntaxError: Nieoczekiwany import tokena

Nie rozumiem, co jest nie tak. Node v5.6.0 NPM v3.10.6

Kod:

function (exports, require, module, __filename, __dirname) {
    import express from 'express'
};

Błąd:

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 2016-09-11T12:55:44+00:00 3
 SovietFrontier
SovietFrontier
Edytowane pytanie 15. listopada 2018 в 4:09
Programowanie
javascript
node.js
npm
ecmascript-6
To pytanie ma 1 odpowiedź w języku angielskim, aby je przeczytać zaloguj się na swoje konto.
Solution / Answer
 Scimonster
Scimonster
11. września 2016 в 1:25
2016-09-11T13:25:38+00:00
Więcej
Źródło
Edytuj
#31611408

Uaktualnienie 3: Od Node 13, możesz użyć rozszerzenia .mjs, lub ustawić "type": "module" w swoim package.json. Nie musisz** używać flagi --experimental-modules.

Uaktualnienie 2: Od Node 12, możesz użyć albo rozszerzenia .mjs, albo ustawić "type": "module" w swoim package.json. I musisz uruchomić node z flagą --experimental-modules.

Uaktualnienie: W Node 9, jest to włączone za pomocą flagi i używa rozszerzenia .mjs.

node --experimental-modules my-app.mjs

Podczas gdy import jest rzeczywiście częścią ES6, niestety nie jest jeszcze domyślnie obsługiwany w NodeJS, a dopiero niedawno wylądował w przeglądarkach.

Zobacz tabela kompatybilności przeglądarek na MDN i ten problem z Node.

Z James M Snell's Update on ES6 Modules in Node.js (luty 2017):

Prace są w toku, ale zajmie to trochę czasu - Obecnie patrzymy na około rok co najmniej.

Dopóki wsparcie nie pojawi się natywnie, będziesz musiał kontynuować korzystanie z klasycznych require oświadczeń:

const express = require("express");

Jeśli naprawdę chcesz użyć nowych funkcji ES6/7 w NodeJS, możesz skompilować go używając Babel. Tutaj'jest przykładowy serwer.

 user1618840
user1618840
Edytowana odpowiedź 24. listopada 2019 в 7:05
424
0
 baranskistad
baranskistad
11. września 2016 в 1:02
2016-09-11T13:02:18+00:00
Więcej
Źródło
Edytuj
#31611407

Niestety, Node.js nie obsługuje jeszcze importu ES6&#39.

Aby osiągnąć to, co próbujesz zrobić (zaimportować moduł Express), ten kod powinien wystarczyć

var express = require("express");

Upewnij się także, że masz zainstalowany Express, uruchamiając

$ npm install express

Zobacz Node.js Docs aby uzyskać więcej informacji na temat nauki Node.js.

 baranskistad
baranskistad
Edytowana odpowiedź 3. marca 2017 в 1:07
54
0
 supritshah1289
supritshah1289
24. maja 2017 в 2:49
2017-05-24T14:49:32+00:00
Więcej
Źródło
Edytuj
#31611410

Error: SyntaxError: Nieoczekiwany token import lub SyntaxError: Unexpected token export.


Rozwiązanie: Zmień wszystkie swoje importy tak, jak na przykład

const express               = require('express');
const webpack               = require('webpack');
const path              = require('path');
const config                = require('../webpack.config.dev');
const open              = require('open');

A także zmień swój export default = foo; na module.exports = foo;.

Daniel Vestøl
Daniel Vestøl
Edytowana odpowiedź 18. marca 2018 в 1:42
31
0
Dodaj pytanie
Kategorie
Wszystkie
Technologia
Kultura / Rekreacja
Życie / Sztuka
Nauka
Profesjonalny
Biznes
Użytkownicy
Wszystkie
Nowy
Popularny
1
Jasur Fozilov
Zarejestrowany 8 godzin temu
2
Zuxriddin Muydinov
Zarejestrowany 23 godziny temu
3
Денис Анненский
Zarejestrowany 3 dni temu
4
365
Zarejestrowany 1 tydzień temu
5
True Image
Zarejestrowany 1 tydzień temu
BG
DA
DE
EL
ES
FI
FR
ID
IT
JA
KO
NL
PL
PT
RU
SL
TR
ZH
© de-vraag 2022
Źródło
stackoverflow.com
na podstawie licencji cc by-sa 3.0 z przypisaniem