2017-09-12 4 views
0

Ich verwende die neueste Version von Node js, die v8.4.0 ist. Doch in den Import und Export Erklärungen, erhalte ich Fehler:ES6 Importanweisungen funktionieren nicht in Node v8.4.0

import express from 'express'; 
                   ^^^^^^ 

SyntaxError: Unexpected token import 
    at createScript (vm.js:74:10) 
    at Object.runInThisContext (vm.js:116:10) 
    at Module._compile (module.js:537:28) 
    at Object.Module._extensions..js (module.js:584:10) 
    at Module.load (module.js:507:32) 
    at tryModuleLoad (module.js:470:12) 
    at Function.Module._load (module.js:462:3) 
    at Function.Module.runMain (module.js:609:10) 
    at startup (bootstrap_node.js:158:16) 
    at bootstrap_node.js:598:3 

Welche Knoten js Version soll ich installieren, um diese ES6 Codes zu arbeiten?

  • OS - Ubuntu 17.04
  • Knoten -v: v8.4.0
  • npm -v: 5.3.0
+0

was ist das öffnende Klammer? Import sollte in der obersten Ebene der Datei sein – Salketer

+0

nein, es war nur in den Fehlerprotokollen –

+0

ES6 unterstützt 'Import' auf Node.JS nicht. Verwenden Sie 'const express = require ('express');' – sed

Antwort

1

Eine Möglichkeit, dass ich um dieses Problem gearbeitet haben ...

Installieren babel Sachen für das Projekt:

$ npm install babel-register babel-preset-es2015 --save-dev 

Erstellen Sie eine index.js-Datei, die die Haupteintrittspunkt in die App ist:

// index.js 
// by requiring `babel/register`, all of our successive `require`s will be Babel'd 
require('babel-register')({ 
    presets: [ 'es2015' ] 
}); 

require('./server'); 

Dann erstellen Sie eine Datei namens server.js, die Ihren normalen Indexcode haben:

// server.js 
import express from 'express'; 

var app = express() 

app.get('/', (req, res) => res.send('Hello World!')) 

app.listen(3000,() => console.log('Example app listening on port 3000!')) 

Und laufen:

$ node index.js 
Verwandte Themen