0

我仍然是一个 Grunt 新手,我在“观看”php 文件时遇到了困难。

发生的情况是 livereload 对于任何 php 文件都可以正常工作,但是我想启动的关于 php 文件更改的任何任务都不会发生......在这种情况下,我想使用 ftp-deploy 来推送 ftp 文件每次更改时到我的服务器(这样我可以通过直接链接到我的服务器上的 php 文件并使用简单的 MAMP 安装来保持我的工作流程)。

我的手表代码是这样的:

watch: {
    concat: {
      files: '<%= project.src %>/js/{,*/}*.js',
      tasks: ['concat:dev', 'jshint']
    },

    sass: {
      files: '<%= project.src %>/scss/{,*/}*.{scss,sass}',
      tasks: ['sass:dev', 'cssmin:dev', 'autoprefixer:dev']
    },

    banana: {
      files: '<%= project.src %>/php/*.php',
      tasks: ['ftp-deploy']
    },


    livereload: {
      options: {
        livereload: LIVERELOAD_PORT
      },
      files: [
        '<%= project.app %>/{,*/}*.html',
        '<%= project.assets %>/css/*.css',
        '<%= project.assets %>/js/{,*/}*.js',
        '<%= project.src %>/php/{,*/}*.php',
        '<%= project.assets %>/{,*/}*.{png,jpg,jpeg,gif,webp,svg}'
      ]
    }
  }

因此,即使是 php 文件的 livereload,一切都可以正常工作,除了 ftp-deploy 任务没有发生的巨大例外。

如果我将该 ftp-deploy 任务添加到 sass 目标或 concat 目标上,它可以完美运行,但在香蕉目标上(是的......我开始感到沮丧)它根本不起作用!

我用这个打破了我的头......

有人可以帮我吗?

提前致谢。

4

1 回答 1

0

嗯...查看您的监视任务,您似乎想要目录或任何子目录.php中的文件。/php/在那种情况下,也许你真的想要这个:

banana: {
  files: '<%= project.src %>/php/**/*.php', // the ** says this or any sub-directory
  tasks: ['ftp-deploy']
},

我的猜测是这也是您livereload任务的目标:
'<%= project.src %>/php/{,*/}*.php'
可能可以重写为(不是 100% 确定):
'<%= project.src %>/php/**/*.php'

于 2013-10-16T16:23:28.707 回答