2016-08-25 4 views
0

in pre-es6:ES6 - Doppelte Deklaration auf Importieren von Dateien

var stream = require("./models/stream"); 
var stream = require("./routes/stream"); 

Es funktioniert gut.

In es6:

import stream from './models/stream'; 
import stream from './routes/stream'; 

Fehler:

TypeError: /var/www/.../es6/app.js: Duplicate declaration "stream" 
> 31 | import stream from './routes/stream'; 

Irgendwelche Ideen, wie kann ich importieren es richtig?

+0

Warum würden Sie importieren/require zweimal "Dampfen"? –

+1

Das ist eine berechtigte Frage. Warum wurde es ohne Kommentar abgelehnt? – Yar

+0

@FelixKling sie sind zwei verschiedene Dateien. in pre-es6, 'var stream = require (" ./ models/stream ");' sollte 'require sein (" ./ models/stream ");' - schätze ich! – laukok

Antwort

2

Du neu deklarieren die stream Variable und es nie verwenden, so dass Sie nur erste Datei ohne Zuordnung importieren:

import './models/stream'; 
import stream from './routes/stream'; 
+0

danke für den Tipp! – laukok

+0

aber es hat diesen Fehler 'Unexpected token (26:12)> 27 | Import von './models/stream'; ' – laukok

+1

Es sollte nur sein: import './models/stream'; –

3

Verwenden Sie unterschiedliche Modulnamen

import stream from './models/stream'; 
import streamroutes from './routes/stream'; 
+1

Ihre zweite sollte 'Import {default als streamroutes} von' oder nur 'importieren streamroutes from'. – loganfsmyth

+0

@loganfsmyth danke. Ich habe die Antwort bearbeitet. –

Verwandte Themen