Ich verstehe nicht, was falsch ist. Node v5.6.0 NPM v3.10.6
Der Code:
function (exports, require, module, __filename, __dirname) {
import express from 'express'
};
Der Fehler:
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
Update 3: Seit Node 13 können Sie entweder die Erweiterung .mjs verwenden oder "type": "module" in Ihrer package.json setzen. Sie müssen nicht das --experimental-modules
Flag verwenden.
Update 2: Seit Node 12 können Sie entweder die .mjs'-Erweiterung verwenden, oder
"type": "module"in Ihrer package.json setzen. Und Sie müssen node mit dem
--experimental-modules`-Flag ausführen.
Aktualisierung: In Node 9 wird es hinter einem Flag aktiviert und verwendet die .mjs
Erweiterung.
node --experimental-modules my-app.mjs
Während import
in der Tat Teil von ES6 ist, wird es leider noch nicht standardmäßig in NodeJS unterstützt, und hat erst vor kurzem Unterstützung in Browsern erhalten.
Siehe Browser-Kompatibilitätstabelle auf MDN und diese Node-Ausgabe.
Aus James M Snell's Update on ES6 Modules in Node.js (Februar 2017):
Die Arbeit ist im Gange, aber es wird noch einige Zeit dauern - wir rechnen derzeit mit mindestens einem Jahr.
Bis die Unterstützung nativ auftaucht, müssen Sie weiterhin klassische require
-Anweisungen verwenden:
const express = require("express");
Wenn Sie wirklich die neuen ES6/7-Funktionen in NodeJS nutzen wollen, können Sie es mit Babel kompilieren. Hier's ein Beispielserver.
Leider unterstützt Node.js ES6's import
noch nicht.
Um das zu erreichen, was Sie versuchen (das Express-Modul zu importieren), sollte dieser Code ausreichen
var express = require("express");
Stellen Sie außerdem sicher, dass Sie Express installiert haben, indem Sie
$ npm install express
In den Node.js Docs finden Sie weitere Informationen zum Erlernen von Node.js.
Fehler: SyntaxFehler: Unerwartetes Token import oder SyntaxFehler: Unerwartetes Token Export
Lösung: Ändern Sie alle Ihre Importe wie im Beispiel
const express = require('express');
const webpack = require('webpack');
const path = require('path');
const config = require('../webpack.config.dev');
const open = require('open');
Und ändern Sie auch Ihre export default = foo;
in module.exports = foo;