Grunt观看livereload不在MAMP上工作

时间:2013-12-23 09:13:28

标签: terminal gruntjs mamp watch livereload

我正在使用grunt,我正在尝试让watch / livereload任务在我的本地服务器(MAMP)上运行,但没有成功。

我正在根据HTML5 Boilerplate grunt文件(https://github.com/h5bp/html5boilerplate.com/blob/master/Gruntfile.jshttps://github.com/h5bp/html5boilerplate.com/blob/master/package.json)调用该任务。

我也尝试过实施Tiny-lr(https://github.com/mklabs/tiny-lr)而没有成功。

我现在的连接和观看选项是

connect: {
    options: {
        hostname: 'localhost', 
        livereload: 35729,
        port: 8888              
    },
    livereload: {
        options: {
            base: '../',
            open: true
        }
    },
},
watch: {
    files: '<%= settings.dir.src %>/**',
    less: {
      files: ['src/less/*.less'],
      tasks: ['less'],
    },
    options: {
        livereload: '<%= connect.options.livereload %>'
    },
    scripts: {
        files: ['<%= settings.dir.src %>/js/*.js', 'css/**/*.scss' ],
        tasks: 'default',
        options: {
            spawn: false,
        }
    }
}

在这里我宣布开发任务:

// development task
grunt.registerTask('dev', [
  'connect:livereload',
  'watch'
]);

当我运行'grunt dev'时,我的浏览器会在http://127.0.0.1:8888/处打开并仅显示:无法获取/

我需要我的浏览器打开http://localhost:8888/ctrl/(ctrl是MAMP上文件夹项目的名称,可能是任何东西),我认为改变“基础”选项是要走的路但不是,它是不,我也不能将“/ ctrl”添加到主机名,也不能添加到端口。

有什么想法吗? 谢谢

以下是我整个代码的链接:https://github.com/zolitariuz/ctrl

1 个答案:

答案 0 :(得分:2)

我认为你在咕噜声中误解了2个任务,

connect任务用于创建由节点js生成的http服务器,因此没有php或mysql支持,你不想通过它运行你的WP站点。

监视任务正在查找您计算机上文件的更改,在文件更改后启动相应任务,然后触发实时重新加载。

在监视任务中复制实时重新加载对象后,应完全删除连接。

您应该运行本地灯堆以运行wp,然后启动监视任务以进行文件更改。

在wp端,您应该将实时重新加载脚本排入队列,或者使用将为您注入的浏览器扩展。