Gruntjs:致命错误:getaddrinfo ENOTFOUND

时间:2013-08-24 20:12:13

标签: node.js gruntjs grunt-contrib-watch

我应该指出我是没有经验的用户,我的问题是'hostname'属性除了空字符串('')之外不能分配任何值, '0.0.0.0'和'localhost'。我得到:致命错误:getaddrinfo ENOTFOUND 。 我做错了什么?

如果做对了,我可以改变我通常在地址栏中输入的地址,所以改为'localhost'我可以键入'example.com'或类似的东西。

正如我上面提到的,我已经为它分配了不同的值,但只有三个有效。那么为什么这个'*'不起作用。

这是我的 Gruntfile.js

module.exports = function( grunt ) {
    grunt.initConfig({
        pkg: grunt.file.readJSON('package.json'),   

        watch: {
            scripts: {
                files: ['*.js'],
                options: {
                    livereload: true
                }
            },
            markup: {
                files: ['*.html'],
                options: {
                    livereload: true
                }
            },
            stylesheets: {
                files: ['*.css'],
                options: {
                    livereload: true
                }
            }
        },
        connect: {
            server: {
                options: {
                    hostname: '*',
                    port: 2000, 
                    base: '.'
                }
            }
        }
    });

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

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

};

使用Ubuntu 12.04 64位

NodeJs 0.10.17

npm 1.3.8

GruntJs 0.4.1

grunt-contrib-connect 0.3.0

1 个答案:

答案 0 :(得分:11)

这是因为grunt尝试将该地址绑定为服务器。无法将服务器绑定到任意IP地址或域名。

  • 0.0.0.0表示侦听绑定到此主机的所有IP地址
  • 127.0.0.1/localhost表示绑定到本地适配器
  • nnn.nnn.nnn.nnn绑定到特定的IP地址(必须在本地解析)