2017-12-27 14 views
0

Alle babel Module/Plugins sind auf der neuesten Version von babel v6. Mocha ist auf v4.0.1.Immer noch Syntaxfehler für dynamischen Import mit babel-plugin-syntax-dynamic-import bei laufendem Mocha

Setup:

// .babelrc 
{ 
    presets: [ 
     "stage-3", 
     [ 
     "env", 
     { 
      "targets": { 
       "browsers": [ 
       "last 2 versions" 
       ], 
       "node": "current" 
      } 
     } 
     ] 
     "react" 
    ], 
    plugins: ["transform-runtime", "syntax-dynamic-import"] 
} 


// mocha.opts 
--recursive 
--reporter progress 
--require babel-polyfill 
--require babel-register 
--timeout 20000 

Also, wenn ich meine Testsuite betreibe ich noch bekommen: error stack trace.

Ich müsste mir vorstellen, dass es etwas mit babel-register und syntax-dynamic-import zu tun hat, die nicht richtig zusammenarbeiten. Denn wenn ich es mit babel-loader im Webpack benutze, bekomme ich beim transpile keine Syntaxfehler.

+0

herausgefunden. Ich bin zum Dynamic-Import-Node gewechselt. Ich hatte das vorher probiert und es scheiterte immer noch. Der Grund dafür, dass es immer noch scheiterte, war, dass irgendwo etwas zwischengespeichert wurde. Könnte von Mokka oder Babel sein. Wenn ich also die Datei änderte oder der Test 'dynamic-import-node' anfing zu arbeiten, wie erwartet. –

+0

Nicht sicher, warum 'syntax-dynamic-import' nicht mit' babel-register' funktioniert. –

Antwort

1

Diese Antwort auf babeljs schlaff von Satyajit Sahoo gelöscht Dinge für mich:

syntax-dynamic-import wird die Syntax in babylon nur ermöglichen, die es babylon bedeutet, den Code ohne Syntaxfehler analysieren kann. der Code import(...) ist immer noch da, welcher Knoten das nicht versteht und man muss es trotzdem transpilieren. dynamic-import-node transpiliert den import(...) zu welcher Knoten versteht. Auf dem Client ist der Umsetzungsschritt nicht erforderlich, da Webpack die Syntax versteht und bündelt.

Verwandte Themen