【问题标题】:Listening to PHP files using Grunt.js使用 Grunt.js 监听 PHP 文件
【发布时间】:2013-10-13 14:44:42
【问题描述】:

我还是个 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 目标上,它可以完美运行,但在香蕉目标上(是的......我开始感到沮丧)它根本不起作用!

这让我头疼了……

谁能帮帮我?

提前致谢。

【问题讨论】:

    标签: php ftp gruntjs grunt-contrib-watch


    【解决方案1】:

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

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

    我猜这也是你的livereload 任务的目标:
    '&lt;%= project.src %&gt;/php/{,*/}*.php'
    也许可以重写为(不是 100% 确定):
    '&lt;%= project.src %&gt;/php/**/*.php'

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-22
      • 1970-01-01
      相关资源
      最近更新 更多