2017-07-08 9 views
3

Ich habe NodeJS v8Verwendung ES6 'importieren' Anweisung ohne transpilers

$ node -v 
v8.1.3 

und ein Skript:

import cmd from "commander"; 

Es ist ein Fehler "unerwarteter Token Import" wenn ich versuche, dies zu starten Skript:

$ node script.js 
/.../script.js:1 
(function (exports, require, module, __filename, __dirname) { import cmd from "commander"; 
                   ^^^^^^ 

    SyntaxError: Unexpected token import 

Gibt es eine Methode zur Verwendung von ES6-Modulen ("Import" st atement) ohne Transpiler?

Antwort

2

Ohne Transpiler zu verwenden, haben Sie require verwenden:

const cmd = require('commander'); 
6

Die akzeptierte Antwort ist nicht mehr die richtige Antwort. In NodeJS 4+ können Sie jetzt ES-Module aktivieren, indem Sie das -Paket installieren und Ihr Skript mit der Option -r @std/esm in der Befehlszeile aufrufen. Zum Beispiel:

node -r @std/esm index.js

Beachten Sie, dass, um Knoten zu haben, automatisch zu erkennen, ob eine Datei ESM verwendet werden soll (damit Sie .js Dateierweiterungen anstelle der Verwendung des Michael Jackson-Lösung, .mjs verwenden), Sie‘ ll müssen Ihre package.json folgendes hinzuzufügen:

"@std/esm": { "esm": "js" },

Komplette Details bei standard-things/esm auf GitHub.

Verwandte Themen