2017-02-17 11 views
1

でJSONに予期しないトークン「私はここのWebPACKの設定を持って、私はWebpack - Error: Cannot define 'query' and multiple loaders in loaders listモジュールのビルドに失敗しました:でSyntaxError:位置0

var webpack = require('webpack'); 

module.exports = { 
    //devtool: 'inline-source-map', 
    entry: [ 
    'webpack-hot-middleware/client', 
    './client/main.js' 
    ], 
    output: { 
    path: require("path").resolve('./assets'), 
    filename: 'bundle.js', 
    publicPath: '/' 
    }, 
    plugins: [ 
    new webpack.HotModuleReplacementPlugin() 
    ], 
    externals: { 
     jquery: 'var jQuery' 
    }, 
    module: { 
    loaders: [ 
     { 
     test: /\.jsx?$/, 
     loaders: ['json-loader', 'babel-loader?presets[]=react,presets[]=es2015,presets[]=react-hmre'], 
     exclude: /node_modules/ 
     } 
    ] 
    } 
}; 

私の現在の試みに私を導いた答えHow should I use moment-timezone with webpack?、とmoment-timezoneを追加しようとしています上です。

答えて

1

JavaScriptファイルをjson-loaderに渡すようにwebpackに指示しています。しかし、JavaScriptファイルは有効なJSONではないので、最初の文字に予期しないトークンが既に存在するというエラーが発生します。

{ 
    test: /\.jsx?$/, 
    loaders: ['json-loader', 'babel-loader?presets[]=react,presets[]=es2015,presets[]=react-hmre'], 
    exclude: /node_modules/ 
} 

だから、.jsx?設定からjson-loaderを削除する必要があります。さらにjson-loaderはwebpack 2ではもう必要ありません。JSONファイルはそのままで動作するはずです。

あなたはにmoduleセクションを更新することができます。

module: { 
    rules: [ 
    { 
     test: /\.jsx?$/, 
     loader: 'babel-loader?presets[]=react,presets[]=es2015,presets[]=react-hmre', 
     exclude: /node_modules/ 
    } 
    ] 
} 

しかし、念のために、それは動作しないはずです、あなたは.jsonで終わるファイルに対してjson-loaderを追加する必要があります:

{ 
    test: /\.json$/, 
    loader: 'json-loader' 
} 
関連する問題