1

我正在使用 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/并只显示:Cannot GET /

我需要打开浏览器http://localhost:8888/ctrl/(ctrl 是 MAMP 上的文件夹项目的名称,可以是任何名称),我认为更改“base”选项是可行的方法,但不,不是,我无法添加“/ ctrl" 到主机名,也不到端口。

有任何想法吗?谢谢

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

4

1 回答 1

2

我认为您误解了 grunt 中的 2 个任务,

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

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

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

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

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

于 2014-06-10T10:30:50.417 回答