2016-12-06 8 views
1

IE 8エンタープライズ版で実行する必要があるアプリケーションで作業しています。コンソールで次のエラーが表示されます。 期待される識別子:; オブジェクトに対してindexOfを使用できません。webpack 1.xでのtransform-es3-member-expression-literalsの使用

これを解決するために、私はstackoverflowの上、この質問読み:それを追加する

変換-ES3-メンバー-表現リテラルを 変換-ES3-プロパティリテラルに

を示唆 Babel 6.0.20 Modules feature not work in IE8 を。 しかし、これをwebpackで使うのはどこにも言及されていません、バベルの公式サイトではありません。 誰も私のプロジェクトへのプラグインとしてどのように使うことができるのかを誰も提案することができます。

注:私はすでにあなたにリンクする質問はバベルのプラグインについてです、そしてあなたはWebPACKのプラグインとして渡すしようとしている

var es3MemberExpressionLiterals = require('babel-plugin-transform-es3-member-expression-literals'); 
var es3PropertyLiterals = require('babel-plugin-transform-es3-property-literals'); 
plugins = [// Plugins for Webpack 
new webpack.optimize.UglifyJsPlugin({minimize: false}), 
new HtmlWebpackPlugin({ 
    template: 'index.html', // Move the index.html file... 
    minify: { // Minifying it while it is parsed using the following, self–explanatory options 
     removeComments: false, 
     collapseWhitespace: false, 
     removeRedundantAttributes: false, 
     useShortDoctype: false, 
     removeEmptyAttributes: false, 
     removeStyleLinkTypeAttributes: false, 
     keepClosingSlash: true, 
     minifyJS: false, 
     minifyCSS: true, 
     minifyURLs: false 
    } 
    }) 
new es3MemberExpressionLiterals(), 
new es3PropertyLiterals() 

]; 
+0

修正プログラムを見つけましたか?私は同じ問題を抱えています。 – Victor

答えて

0

をやって試してみました。あなたのアプリケーションのローダーとしてBabelをセットアップし、そのプラグインを渡す必要があります。あなたのWebpack設定に以下をマージしてください。

module: { 
    loaders: [{ 
    loader: 'babel', 
    test: /\.js$/, 
    exclude: /node_modules/, 
    plugins: [ 
     'babel-plugin-transform-es3-member-expression-literals', 
     'babel-plugin-transform-es3-property-literals', 
    ], 
    }], 
}, 
+0

それは私にとってはうまくいかなかった。それを行うための他の方法はありますか?ありがとう – Victor

+0

"did not work"を定義しますか?具体的に何を得ましたか?新しい質問をする価値があるかもしれません。 – loganfsmyth

1

例で完全構成を表示するためにdemo repository on githubを作成しました。あなたのwebpack.config.jsバベルで標準構成babel-loaderで以下の内容

{ 
    "plugins": [ 
    "transform-es3-member-expression-literals", 
    "transform-es3-property-literals" 
    ] 
} 

で、.babelrcファイルを作成して実行している2つのプラグインを取得するには

は、プラグインを設定するには、.babelrcに見ていきます。すべてが正しく設定されている場合のWebPACK

// bundle.js 
/* 0 */ 
/***/ function(module, exports) { 

    var foo = { "catch": function() {} }; 
    console.log(foo["catch"]); 

/***/ } 

に次のコード

// src/main.js 
var foo = { catch: function() {} }; 
console.log(foo.catch) 

を変換する必要があります

// webpack.config.js (partial code only) 
module: { 
    loaders: [ 
    { 
     test: /\.js$/, 
     loader: 'babel-loader', 
     exclude: /node_modules/ 
    } 
    ] 
} 

もプラグインの例を参照してください:babel-plugin-transform-es3-property-literalsbabel-plugin-transform-es3-member-expression-literals

+0

私は尋ねたとおりに実際に働くので奨励金を授与されましたが、私は自分自身を正しく説明していないのではないかと心配しています。私の問題は何か他のものでした。とにかく、別の方法でそれを並べ替えました。お疲れ様でした! – Victor

+0

賞金を授与してくれてありがとう。これが最終的にあなたの実際の問題ではなかったと聞いて悲しいことですが、私はあなたが本当の問題の解決策を最後に見つけたことをうれしく思います。 :) – dotcs

関連する問題