2017-12-21 14 views
1

あなたがCoffeeScriptの中の文字列の補間を使用している場合は...文字列補間のインスタンスをコンパイルするときにCoffeescriptは常にES6テンプレートリテラルを使用しますか?

# source.coffee 
bar = "Bar" 
console.log "Foo #{bar}" 

それはES6テンプレートリテラルに文字列補間をコンパイル開始し始めたのCoffeeScriptのバージョンは何

# compiled.js 
var bar = 'Bar'; 
console.log(`Foo ${bar}`); 

にコンパイル? Coffeescriptを古い方法でコンパイルする設定はありますか?私はまた、これについて私の石鹸ボックスに乗る必要があります。テンプレートリテラルの目的は、JavaScriptを人間が書きやすくすることでした。では、なぜこの変更はコンパイルされた出力で行われましたか?この方法で作成された古い方法のコーヒーは、より広範にサポートされていました。

私は実際にgrunt-contrib-coffeeを使用しており、これに遭遇しました。ちょっとした仕事の設定もあれば、私はそのヒントを感謝します。

答えて

2

これはcoffeescript 2対1です。私はそれをテストしました。古いバージョンは連結された文字列を返し、新しいものはES6テンプレートリテラルを返します。

事故でcoffeescript 2をどのように使用し終わったのかよく分かりません。別のパッケージ名(v2の場合はcoffeescript、v1の場合はcoffee-script)のnpmです。

+0

私の問題は、coffeescript 2を使用して開始したgrunt-contrib-coffeeだから、coffeescript 2を避けるためにgrunt-contrib-coffee 1.0.0に戻らざるを得ませんでした。 –

関連する問題