2016-07-05 1 views
0

J'ai eu des problèmes avec le passage du code es2015 à ES5. Problème se produit avec les importations de modules:erreur lors de l'importation de modules avec la syntaxe es2015 et babel transpilation à es5

import * as express from "express" 

est transpiled à:

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

Ce qui provoque l'erreur:

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

Mais si j'importation avec

var express = require('express');

tous les travaux bien.

Je veux toujours utiliser la syntaxe es2015, y a-t-il un paramètre ou un plugin que je devrais installer dans bable pour qu'il fonctionne correctement?

+0

Comment utilisez-vous 'express'? – Bergi

+1

On dirait que vous devriez faire l'importation «express» de «express»; 'Express ne prend pas en charge les modules ES6 encore – Bergi

+0

il n'est pas lié à exprimer spécifiquement, c'est un problème général avec l'importation modul. Votre solution fonctionne, même si Express ne possède pas d'exportation par défaut. –

Répondre

0

Utilisez

import express from "express" 
+0

J'ai mis à niveau vers le nœud js 6 qui est censé supporter toutes les fonctions es6, et même mes propres fichiers rapportent des jetons "inattendus" .... pourquoi? –

+0

Le nœud 6 ne prend pas en charge toutes les fonctionnalités ES6, mais il prend en charge la grande majorité d'entre elles. – loganfsmyth