問題タブ [grunt-contrib-copy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - Grunt-contrib-copy: rename 関数内の変数
私は次のコピータスクを持っていますgruntfile.js
現在、ファイルは正常にコピーされていますが、コピーしたら、ファイル名の一部を構成するバージョン番号を削除したいと考えています。
それらは gruntfile で以前に定義されており、名前変更機能まで期待どおりに機能しています。
私が得た現在file_1.123.css
、私はで終わりたいと思いfile.css
ます。
名前変更関数に変数を渡すさまざまな方法を試しましたが、成功しませんでした。
ありがとう。
javascript - Lineman にすべてのファイルを /dist から別のディレクトリにコピーするように指示するには?
実行するlineman build
と、縮小されたすべての CSS と JS が/dist
ディレクトリに生成されます。これらの縮小されたファイルを別のディレクトリ (パスの My Public Directory - ../lib/app/public ) にコピーする方法がわかりません。
私の Lineman 構成ファイルは次のようになります。
copy:dist
Lineman にデフォルト タスクがあることは知っていますが、それがどのように機能するかはわかりません。また、 http://linemanjs.com/のドキュメントから正しく理解することもできません。
gruntjs - プロセスオプションの混乱のための grunt-contrib-copy 構文
コピーするときに、別のファイルのプレースホルダーを置き換えようとしています。私の gruntfile は正常に動作しますが、プロセス オプションを追加して置換を行うと、動作しません。以下は、私の gruntfile の関連セクションです。
パスは、GitHub のコードのコンテキストで理解できます: https://github.com/pilau/starter (パブリック ディレクトリはスターター テーマであるため、リポジトリにコミットされません)。これらのパスは、元の Gruntfile の変数であり、他のすべてのタスクで正常に機能しています。
すべての変数が正常に設定されています。プロセス関数が実際に実行されているかどうかを確認するために を含めました。console.log( content )
実行されていないように見えるので、基本的な構文だと思います。
これに対処しているように見える答え(https://stackoverflow.com/a/28600474/1087660)がありますが、私が知る限り、その方法は単に悪いJS構文です-どのようにマークされたのかわかりません右。
--verbose
コピー タスクを実行した場合の出力:
regex - すべてのファイルを選択するが、ディレクトリ内の特定のファイル拡張子を除外する方法
フォルダー内のすべてのファイルをコピーしたかったのですが、サブフォルダー内の特定のファイル拡張子を除外したかったのです。どうやってやるの?
これが私のコードのスニペットです:
注:ここでは、すべてのファイルをコピーしたかったのですが、angular
サブフォルダー内の (.js) ファイルを除外したかったのです。
何かご意見は?ありがとう
更新 - 回答
Raptis Dimos の発言に基づいて、包含と除外の順序が重要です。したがって、最初に包含を置き、最後に除外を置きます。
gruntjs - grunt-contrib-copy がすべてのファイルを同じ名前で書き込むのはなぜですか?
grunt-contrib-copy を実行して、一連の画像をあるディレクトリから別のディレクトリにコピーしています。すべてのファイルがコピーされますが、各コピーはキュー内の最初のファイルの名前で書き込まれるため、ファイルは 1 つだけになります。
これが私の設定です:
コマンドを実行した後の CLI からの詳細な出力は次のとおりです。
ファイルが元の名前で書き込まれないのはなぜですか?
foreach - forEach内から呼び出されたGruntタスクで動的値を使用するには?
動的に連結された文字列に対して grunt.config.set を使用して grunt タスクを実行しようとしています。これらの grunt.config は forEach ループで設定され、タスクが実行される前に毎回変更されます。
grunt は最後の grunt.config.set のみを使用し、まったく同じ値で複数回実行するため、残念ながらこれは機能しません。
単純な「コピー」タスクを使用したこの例を参照してください (「コピー」は単なる例です。他のタスクでもこの種の動的オプションを使用したいと考えています)。
このタスクは、src/directory4 を 4 回コピーします。
動的な値を使用するそのような種類のタスクを構築することは何とか可能ですか? 他の唯一の解決策は、各タスクを静的文字列で複数回コピーすることであるため、それは素晴らしいことです。
ありがとうございました!ダニエル
javascript - grunt-contrib-copy ディレクトリをルートディレクトリなしで別のディレクトリにコピーします
私は次のような構造をコピーしようとしています:
ただし、src ディレクトリ自体が dest ディレクトリに表示されないと、これを達成できないようです。すなわち
私のコピー設定は次のように設定されています:
dest から「src」ディレクトリを削除する flatten オプションを試しましたが、他のディレクトリも削除し、各ファイルを dest のルート レベルに配置します。
「cwd」を宛先ディレクトリとソースディレクトリに設定しようとしましたが、これはコピーをすべて一緒に防ぐようです。
これを可能にするオプションがあるに違いないと確信していますが、まだ見つけていません。誰にもアイデアはありますか?
javascript - デフォルトで Grunt ターゲットをスキップする方法
複数のタスクとターゲットを含む Grunt プロジェクトを定義しています。 task を使用してbuild
、いくつかのコピー ターゲットを実行したいと思います。その後、 task を使用して、他のいくつかのターゲットでもdeployment
実行したいと思います (展開用にフォルダを特定のディレクトリにコピーするだけです)。例)、タスクcopy
でこのターゲットを実行したくありません。build
では、このGruntターゲットをスキップするにはどうすればよいですかbuild
これが私の例です
angularjs - Yeoman/gruntjs angularjs とフォルダー内の html ファイルを含むディレクティブ
yeoman
アプリを整理するためのツールとして使用しています。私は多くのディレクティブを持っているので、コードとテンプレートのためにyeoman
、ディレクティブを生成する標準的な方法を使用しませんでした。scripts/directive/name.js
views/template_directive.html
私は代わりにこれをしました:
scripts/directive/my-directive
そして、私はjs
andhtml
ファイルを持っています。
ここにスクリーンショット
今、私serve
がすべてうまくいくと、実行時に問題が発生しbuild
ます。js
ディレクティブの は最終的に になりますが、html ページはまだdist の一部ではないものをvendor.js
指しています。scripts/directive/my-directive/template_directive.html
私がすべきこと(おそらく、歓迎以上のより良いオプションがある場合)は次のとおりです。
html
ビューフォルダーにコピーします- ディレクティブの js の参照を変更します
また
- 同じフォルダーにファイルを配置する方法を見つけて
html
、dist も作成します(すべてを再作成します/directives/<directive>/<template>.html
)
質問は:
- 「正しい」解決策は何ですか
- それを機能させるためにgruntjsで変更するコマンドは何ですか。