2016-08-25 4 views
0

в предварительном ES6:ES6 - Дубликат декларации о импорте файлов

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

Он отлично работает.

В ES6:

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

Ошибка:

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

Любые идеи, как я могу импортировать его правильно?

+0

Почему бы вам импортировать/требуется в первую очередь, «пара»? –

+1

Это законный вопрос. Почему он был проголосован без комментариев? – Yar

+0

@FelixKling это два разных файла. в pre-es6, 'var stream = require (" ./ models/stream ");' должно быть 'require (" ./ models/stream ");' - я думаю! – laukok

ответ

2

Вы повторно объявить переменную stream и не использовать его, так что вы можете просто импортировать первый файл без присвоения:

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

спасибо за подсказку! – laukok

+0

, но он имеет эту ошибку 'Неожиданный токен (26:12)> 27 | импорт из './models/stream'; ' – laukok

+1

Это должно быть просто: import './models/stream'; –

3

Использовать имена разного модуля

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

Ваш второй должен быть 'import {default as streamroutes} из' или просто 'import streamroutes from'. – loganfsmyth

+0

@loganfsmyth спасибо. Я отредактировал ответ. –