2016-12-27 2 views
1

Я попытался использовать оператор распространения в одном из файлов js, но у меня есть ошибка. Это то, что мой конфигурационный файл webpack выглядит, например, только в разделе модуля.Невозможно использовать оператор спреда

module: { 
     loaders: [ 
      { 
       test: /\.jsx?$/, 
       exclude: /(node_modules|bower_components)/, 
       loader: 'babel', 
       query: { 
        presets: ['react', 'es2015'] 
       } 
      } 
     ] 
    } 

Я предполагаю, что у меня была проблема, потому что распространение все еще находится на стадии предложения. Что мне нужно сделать, чтобы я мог использовать оператор распространения в моем проекте?

UPDATE: Вот как я использовал его:

import * as actions1 from './someActions'; 
import * as actions2 from './moreActions'; 

export { 
    ...actions1, 
    ...actions2 
}; 

Это сообщение об ошибке: enter image description here

+0

Сообщите, пожалуйста, свою ошибку и небольшой фрагмент того, как вы использовали оператор спреда. – 4castle

+0

Это неожиданная ошибка маркера - см. Обновление в исходном сообщении – Sam

+1

['...' не является оператором] (http://stackoverflow.com/a/37152508/218196). Как только вы поймете, что вы не будете использовать его в произвольных положениях. –

ответ

1

Другой ответ является правильным для общих объектов, но и для кода, который вы выложили ответ заключается в том, что вы не можете взять все реквизиты объекта и экспортировать его, как названный экспорт. Все имена экспорта должны быть познаваемыми без выполнения кода модуля.

import * as actions1 from './someActions'; 
export {...actions1}; 

невозможно. Однако вы можете сделать

export * from './someActions'; 

взять все из названного экспорта из someActions (за исключением default) и реэкспорт тогда как именованный экспорт из корневого файла.