0

背景:所以我是编写 grunt 任务的新手,所以希望这不是一个愚蠢的问题。
我的繁重任务的目的:给定一个文件(html / jsp / php / etc)搜索所有链接/脚本标签,将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 希望看到的是 src 和 dest 相同,而不是dest ==='src' 和 src === 未定义。

那么,我错过了什么?我可以阅读有关“this.files”的一些文档吗?我已经尝试将目标中的 files 属性设置为每个 grunts 规范的许多其他格式,似乎没有一个工作(对于这个脚本,理想情况下 src / dest 将是相同的,所以用户只需输入一次,但我现在还没有进入。)

谢谢您的帮助

编辑:这里的根本问题是我使用 IntelliJ 进行调试。出于某种原因,当我查看 this.files 时,src var(连同 this.fileSrc var)从未更新。即使我会在适当的时候看到其他项目得到更新。

4

1 回答 1

3

Check out the Configuring Tasks portion of the docs: http://gruntjs.com/configuring-tasks

this.files works with supported configuration formats listed on the configuring tasks page:

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

OR

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

OR

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

OR

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

Read more about this.files: http://gruntjs.com/api/inside-tasks#this.files

于 2013-11-11T03:51:34.740 回答