2016-07-29 31 views
1

Ich frage mich, warum Node.js node index.js die folgenden Fehler aufwirft:Verwenden Import Stichwort ohne Babel in Knoten 6

(function (exports, require, module, __filename, __dirname) { import * as math from "lib/math"; 
                  ^^^^^^ 
     SyntaxError: Unexpected token import 
      at Object.exports.runInThisContext (vm.js:53:16) 
    at Module._compile (module.js:513:28) 
    at Object.Module._extensions..js (module.js:550:10) 
    at Module.load (module.js:458:32) 
    at tryModuleLoad (module.js:417:12) 
    at Function.Module._load (module.js:409:3) 
    at Function.Module.runMain (module.js:575:10) 
    at startup (node.js:160:18) 
    at node.js:456:3 

Selbst, node -v zeigt 6.2.1.

Sind import Schlüsselwörter mit Babel eingeschränkt, auch wir verwenden Knoten 6 (6.2.1)?

Antwort

4

ES 2015-Module (und daher das Schlüsselwort import) werden in Node.js v6 standardmäßig nicht unterstützt.

Sie können die experimentelle (und fast sicher fehlerhafte) Modulunterstützung aktivieren, indem Sie node mit dem --harmony_modules Flag starten.

Eine bessere Option könnte sein, Babel oder ein ähnliches Werkzeug zu verwenden, um ES 2015 Module zu transpilieren.

Oder Sie können Ihren Code neu schreiben, um ES 2015-Module überhaupt nicht zu verwenden.