Gruntjs 咕噜咕噜的利弗雷洛德和曼普

Gruntjs 咕噜咕噜的利弗雷洛德和曼普,gruntjs,mamp,Gruntjs,Mamp,我正在尝试使用GruntJSLivereload进行wordpress主题开发 对于WP主题开发,我通常使用MAMP并在浏览器中的localhost上查看站点 如果我使用grunt创建服务器,我仍然需要运行MAMP 我是否仍然需要MAMP根文件夹中的wordpress文件夹才能连接到数据库 我正在使用wordpress文件夹根目录下的这个简单的GrunFile.js,但是如果我运行grunt,浏览器会加载搜索引擎,搜索0.0.0.0 'use strict'; module.exports =

我正在尝试使用GruntJSLivereload进行wordpress主题开发

对于WP主题开发,我通常使用MAMP并在浏览器中的localhost上查看站点

如果我使用grunt创建服务器,我仍然需要运行MAMP

我是否仍然需要MAMP根文件夹中的wordpress文件夹才能连接到数据库

我正在使用wordpress文件夹根目录下的这个简单的GrunFile.js,但是如果我运行grunt,浏览器会加载搜索引擎,搜索0.0.0.0

'use strict';

module.exports = function(grunt){

    require('load-grunt-tasks')(grunt);

    grunt.initConfig({

        pkg: grunt.file.readJSON('package.json'),

    connect: {
        options: {
            port: 9000,
        },
        livereload: {
            options: {
                open: true,
            }
        }
    }


    });

    grunt.registerTask('default', ['connect']);

} 
是否可以在不使用MAMP的情况下将grunt livereload与Wordpress一起使用


我一整天都在努力解决这个问题-任何帮助都会非常感谢。

我不确定我是否完全理解了您的问题,但您将无法在“grunt”服务器上运行wordpress,因为节点服务器是JS的,不支持PHP或mysql(至少是开箱即用的),我可以帮助您进行mamp+watch设置

因此,要有一个适当的设置,包括mamp和grunt,以您的示例为基础

'use strict';

module.exports = function(grunt){

    require('load-grunt-tasks')(grunt);

    grunt.initConfig({

        pkg: grunt.file.readJSON('package.json'),

    watch: {
      options: {
        livereload: true,
      },
      files: {
        files: ['theDirYouWantToReload/*.scss'], // or whaterver globbing pattern you would need
        tasks: ['yourNeededTask'],
      },
    }


    });

    grunt.registerTask('default', ['watch']);

}
您应该查看一下,了解有关监视和重新加载工作原理的更多信息

这是grunt部分,在WP端,您应该将livereload脚本添加到页面中

2在此解决方案中,使用浏览器的LR扩展,并在查看这些页面时在浏览器上激活它,或将实时重新加载脚本添加到WP enqueue

脚本的默认地址是
http://localhost:35729/livereload.js?snipver=1


这是一个赤裸裸的示例,您可以对watch任务执行精细操作

嘿,我也遇到了这个问题,但我无法让它工作?我觉得这与MAMP在不同的端口上运行PHP服务器有关。也许您可以将默认设置为

我所做的一个非常有技巧的解决方法是,我创建了一个小PHP脚本,它在
localhost
上插入自己。我还检查以确保声明了一个变量

livereload.php

<?php
  // Live reload script added only on localhost and if $livereload set to true

  // add specific whitelist options
  $whitelist = array(
    '127.0.0.1',
    '::1',
    'localhost'
  );

  if(in_array($_SERVER['REMOTE_ADDR'], $whitelist) && isset($livereload)){
    echo '<script src="http://localhost:35729/livereload.js?snipver=1"></script>';
  }
?>
<?php
   $livereload = true;
?>

// Markup, content

<?php
   include_once('livereload.php');
?>

希望这能有所帮助。

是的,我确实认为我可以在grunt服务器上运行wordpress,但我现在意识到这是行不通的。如果你能帮助我修改我的答案,根据你的例子,一个与livereload一起安装的MAMP+手表将是完美的