Ik begrijp niet wat er mis is. Node v5.6.0 NPM v3.10.6
De code:
function (exports, require, module, __filename, __dirname) {
import express from 'express'
};
De fout:
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: Sinds Node 13, kun je ofwel de .mjs extensie gebruiken, of "type": "module" instellen in je package.json. Je hoeft niet de --experimentele-modules
vlag te gebruiken.
Update 2: Sinds Node 12, kun je ofwel de .mjs
extensie gebruiken, of "type": "module"
instellen in je package.json. En je moet node draaien met de --experimentele-modules
vlag.
Update: In Node 9, is het ingeschakeld achter een vlag, en gebruikt de .mjs
extensie.
node --experimental-modules my-app.mjs
Hoewel import
inderdaad deel uitmaakt van ES6, wordt het helaas nog niet standaard ondersteund in NodeJS, en heeft het pas zeer recent ondersteuning gekregen in browsers.
Zie browser compat tabel op MDN en dit Node probleem.
Uit James M Snell's Update on ES6 Modules in Node.js (februari 2017):
Er wordt aan gewerkt, maar het gaat enige tijd duren - We kijken momenteel naar ongeveer een jaar op zijn minst.
Totdat ondersteuning natively verschijnt, zul je'moeten blijven gebruiken klassieke require
statements:
const express = require("express");
Als je echt nieuwe ES6/7 functies in NodeJS wilt gebruiken, kun je het compileren met behulp van Babel. Hier's een voorbeeld server.
Helaas, Node.js ondersteunt ES6's import
nog niet.
Om te bereiken wat u'probeert te doen (de Express module importeren), zou deze code moeten volstaan
var express = require("express");
Wees er ook zeker van dat je Express geïnstalleerd hebt door
$ npm install express
Zie de Node.js Docs voor meer informatie over het leren van Node.js.
Error: SyntaxError: Onverwachte token import of SyntaxError: Onverwachte token export
Oplossing: Wijzig al uw imports zoals voorbeeld
const express = require('express');
const webpack = require('webpack');
const path = require('path');
const config = require('../webpack.config.dev');
const open = require('open');
En verander ook je export default = foo;
in module.exports = foo;