0

背景: 私は単調なタスクを書くのは初めてなので、これがばかげた質問ではないことを願っています。
私の単調なタスクの目的: ファイル (html / jsp / php / など) を指定して、すべてのリンク / スクリプト タグを検索し、href / src をキーと比較して、ファイルの内容に置き換えます。提案されたタスク構成:

myTask:{
      index:{
          files:{src:"test/testcode/index.html", dest:"test/testcode/index.html"},

          css:[
              {
                  file: "/css/some/css/file.css",
                  fileToReplace:"/target/css/file.css"
              },
              {
                  file: "/css/some/css/file2.css",
                  fileToReplace:"/target/css/file2.css"
              }
          ],
          js:[
              {
                  file: "/css/some/css/file.css",
                  fileToReplace:”/target/css/file.css"
              },
              {
                  file: "/css/some/css/file2.css",
                  fileToReplace:"/target/css/file2.css"
              }
          ]
      }
  }

問題: 私の理解では、ファイルを扱うときは、'this.files' オブジェクトを参照する必要があります。 intelliJとデバッガーを使用して、「this.files」オブジェクトを監視すると、次のように表示されます: http://i.imgur.com/Gj6iANo.png dest ==='src' および src === 未定義。

それで、私が欠けているのは何ですか?私が読むことができる「this.files」に関するドキュメントはありますか? ターゲットの files 属性を grunts 仕様ごとに他の多くの形式に設定しようとしましたが、どれも機能しないようです (このスクリプトでは、理想的には src / dest が同じであるため、ユーザーは一度入力するだけで済みます) 、しかし、私は今それを始めていません.)

助けてくれてありがとう

編集: ここでの根本的な問題は、デバッグに IntelliJ を使用していたことです。何らかの理由で、私が this.files を監視したとき、 src var ( this.fileSrc var とともに) は更新されませんでした。必要に応じて他のアイテムが更新されるのを見たとしても。

4

1 に答える 1

3

ドキュメントのタスクの構成部分を確認してください: http://gruntjs.com/configuring-tasks

this.files構成タスク ページにリストされている、サポートされている構成形式で動作します。

task: {
  target: {
    src: 'source',
    dest: 'destination',
  },
},

また

task: {
  target: {
    files: [
      { src: 'source', dest: 'destination' },
      { src: 'source2', dest: 'destination2' },
    ],
  },
},

また

task: {
  'destination': 'source',
},

また

task: {
  target: {
    files: {
      'destination': 'source',
      'destination2': 'source2',
    },
  },
},

についてもっと読むthis.fileshttp://gruntjs.com/api/inside-tasks#this.files

于 2013-11-11T03:51:34.740 に答える