Grunt Connect服务器忽略端口而不是打开浏览器

时间:2014-08-01 14:24:47

标签: browser gruntjs connect reload

尝试进行grunt-connect设置。 我想要的是启动一个服务器(localhost或IP),浏览器在该URL打开,理想情况下,当更改CSS,HTML或JS文件时,这将是livereload。但我们可以稍后再说。

这就是我在gruntfile.js中所拥有的

module.exports = function(grunt) {
    grunt.initConfig({
        pkg: grunt.file.readJSON('package.json'),
        includesPath: "includes",
        connect: {
            test: {
                port: 9001,
                hostname: '0.0.0.0',
                base: '',
                open: true
            }
        }
    });

    grunt.loadNpmTasks('grunt-contrib-connect');

    grunt.registerTask('default', ['connect:test']);
    grunt.registerTask('server', ['connect:test']);
};

这是package.json

中的依赖项
"grunt-contrib-connect": "~0.8.0"

当我运行gruntgrunt server时,终端窗口会显示

开始在http://0.0.0.0:8000

上连接Web服务器

它不会打开浏览器。如果我在浏览器中转到该地址,那里就没有页面。

你觉得怎么样?

2 个答案:

答案 0 :(得分:3)

所以我似乎错过了选项对象!这是一个多么愚蠢的星期五下午的错误。令人沮丧的是它没有错误,我认为它有默认设置,这可以解释为什么它在端口上使用它? 感谢你的帮助戴夫麦克纳利,这段代码就行了。

connect: {
            server: {
                options: {
                    keepalive: true,
                    port: 4000,
                    base: '.',
                    open: true
                }
            }
        }

答案 1 :(得分:0)

您需要base参数中的值,默认为'。'如果source位于相同的根目录中,并且如上所述,则在使用默认值时不需要指定hostname。另外,检查端口,因为您在任务中指定了一个端口,然后在给定地址中打开另一个端口?