2015-11-04 9 views
1

Я попытался следующие направления для использования шаблона декоратора в плавкий примере connectToStoresКак включить этап 0 в WebPack конфигурации для того, чтобы decoratorPattern в плавкий компонент

http://fluxible.io/addons/connectToStores.html

@connectToStores([FooStore, BarStore], (context, props) => ({ 
    foo: context.getStore(FooStore).getFoo(), 
    bar: context.getStore(BarStore).getBar() 
})) 
class Component extends React.Component { 
    render() { 
     return <div/>; 
    } 
} 
export default Component; 

Однако, я m получает синтаксическую ошибку в символе @. Нужно ли сначала настраивать или загружать что-то, чтобы распознать шаблон декоратора в моем потоковом приложении?

Я попытался следующий webpack.config.js включить поддержку этапа 0 на плавком шаблоне, но я получаю ошибку о том, что я не могу объявить запрос при наличии несколько погрузчиков

webpack.config.js

var webpack = require('webpack'); 
var path = require('path'); 

var webpackConfig = { 
    resolve: { 
     extensions: ['', '.js', '.jsx'] 
    }, 
    entry: [ 
     'webpack-dev-server/client?http://localhost:3000', 
     'webpack/hot/only-dev-server', 
     './client.js' 
    ], 
    output: { 
     path: path.resolve('./build/js'), 
     publicPath: '/public/js/', 
     filename: 'main.js' 
    }, 
    module: { 
     loaders: [ 
      { 
       test: /\.(js|jsx)$/, 
       exclude: /node_modules/, 
       loaders: [ 
        require.resolve('react-hot-loader'), 
        require.resolve('babel-loader') 
       ], 
       query: {stage: 0} 
      }, 
      { test: /\.json$/, loader: 'json-loader'} 
     ] 
    }, 
    node: { 
     setImmediate: false 
    }, 
    plugins: [ 
     new webpack.HotModuleReplacementPlugin(), 
     new webpack.NoErrorsPlugin(), 
     new webpack.DefinePlugin({ 
      'process.env': { 
       NODE_ENV: JSON.stringify(process.env.NODE_ENV) 
      } 
     }) 
    ], 
    devtool: 'eval' 
}; 

module.exports = webpackConfig; 
+1

FYI, декораторы не являются частью ES6. –

ответ

0

Вам нужно настроить Бабель с поддержкой стадии 0: http://babeljs.io/docs/setup/#babel_register

+0

не смог найти инструкции в документе, но я нашел эту ссылку http://jamesknelson.com/unlocking-decorators-and-other-es7-features-with-webpack-and-babel/, которая предложила поставить запрос 'query : {stage: 0} 'в webpackConfig.module.loaders, но теперь я получаю ошибку' Ошибка: не могу определить 'запрос' и несколько загрузчиков в списке загрузчиков' – MonkeyBonkey