2017-12-15 5 views
0

javascriptオブジェクトの動的キーを作成しているときに、gulpの縮小プロセスが中断されます。javascriptオブジェクトのキーを動的に生成するときにgulpが壊れます。

var a = "custome_name" 
var b = {[a]:"myName"} 
// {custome_name: "myName"} - works fine but breaks in gulp minification task. 

これ以外にどのような構文を使用できますか?

+1

私は問題はダイナミックキーはES6の構文であるということだと思う:

→関連の質問を参照してください。縮小されたGulp(おそらくUglify2)はES5コードを圧縮することしかできません。縮小する前にコードを翻訳する必要があります。 Babelを使用して –

+0

jsオブジェクトの動的キーを作成するために使用できるES5構文は何ですか? – DragonKnight

答えて

1

問題は、変数(a)をオブジェクトリテラル内のプロパティ名として使用していることです。

これはES6では有効ですが、ES5構文では有効ではありません。使用しているGulpミニファイア(おそらくUglify2)は、ES6構文の縮小をサポートしていません。代わりに、オブジェクトを作成する

var a = "custome_name" 
var b = {} 
b[a] = "myName" 

あなたはES6からES5にコードを変換するためにBabelようtranspilerを使用しない場合、あなたはこのような問題を回避するようにコードを書き換えることができます動的キーを直接使用して、空のオブジェクトを作成してから、動的キーと角括弧を使用して値を割り当てることができます。 Using a Variable for a Key in a JavaScript Object Literal

関連する問題