1

コマンドラインから、変数をcoffeescriptに渡す方法。対応するプレースホルダーを置き換えることができます。次のようになります。

$ echo "module.exports = {version: '$VERSION'}" | coffee -p -s VERSION=0.0.0

予想される JS:

(function() {

  module.exports = {
    version: '0.0.0'
  };

}).call(this);

ありがとうございました

4

1 に答える 1

3

2つのこと:

  • VERSIONcoffeescript コンパイラではなく、echo で定義する必要があります。coffeescript コンパイラがそれを確認するまでには、すでに に変換$VERSIONされてい''ます。
  • echoはシェルの組み込みであるため、標準のVERSION=0.0.0 echo "$VERSION"構文は機能しません。

したがって、新しいサブシェルを作成して、VERSION の設定がメイン シェルに反映されないようにするには、次のようにエコーとコーヒーを実行します。

$ (VERSION=0.0.0; echo "module.exports = {version: '$VERSION'}" | coffee -ps)       
(function() {

  module.exports = {
    version: '0.0.0'
  };

}).call(this);

式を括弧で囲むと、VERSION が設定されなくなります。

$ echo $VERSION                                                              

$
于 2012-05-03T00:42:12.080 に答える