2016-07-05 18 views
0

Ich habe Probleme mit ES15 Code zu ES5 zu transpilieren. Problem geschieht mit Modul importiert:Fehler beim Importieren von Modulen mit Es2015-Syntax und Babel-Übertragung auf es5

import * as express from "express" 

ist transpiled an:

var _express = require("express"); 
var express = _interopRequireWildcard(_express); 

, die den Fehler verursachen:

var app = express(); 
     ^
TypeError: express is not a function 

Aber wenn ich importieren mit

var express = require('express');

alle Werke fein.

Ich möchte immer noch es2015-Syntax verwenden, gibt es eine Einstellung oder Plugin sollte ich in Bable installieren, damit es richtig funktioniert?

+0

Wie verwenden Sie 'express'? – Bergi

+1

Sieht so aus, als müssten Sie "express express" von "express" ausführen; "wenn express ES6-Module noch nicht unterstützt – Bergi

+0

, ist dies nicht spezifisch, es ist ein generelles Problem beim Modulimport. Ihre Lösung funktioniert, obwohl sie besagt, dass express keinen Standard-Export hat. –

Antwort

0

Verwenden

import express from "express" 
+0

Ich habe ein Upgrade auf den Knoten js 6 durchgeführt, der angeblich alle es6-Funktionen unterstützt, und sogar meine eigenen Dateien melden 'unerwartete' Token .... warum ist das so? –

+0

Knoten 6 unterstützt nicht alle ES6-Funktionen, unterstützt jedoch die überwiegende Mehrheit von ihnen. – loganfsmyth