2013-08-24 42 views
5

我应该指出,我没有经验的用户第一,我的问题是'主机名'属性不能有任何值分配除空字符串('' ),'0.0.0.0'和'localhost'。我得到:致命错误:getaddrinfo ENOTFOUND。 我在做什么错?Gruntjs:致命错误: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

+2

这将有很大的帮助,如果你写下你正在尝试做的,也是你的咕噜config.js中的相关部分的文件,所以我们实际上可以帮助你在这里 –

+0

不够公平: )。我正在玩grunt-contrib-connect插件的设置,我的目的是检查主机名属性是什么。如果说得对,我可以改变我通常在地址栏中输入的地址,所以相反'localhost'我可以输入'example.com'或类似的东西。正如我上面提到的,我已经为它分配了不同的值,但其中只有三个已经工作。所以为什么这个'*'不起作用 – orustammanapov

+0

Errr。只需重新编辑您的文章,插入格式化GruntJS文件 –

回答

11

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

  • 0.0.0.0手段听取绑定到该主机的所有IP地址
  • 127.0.0.1/localhost意味着绑定到本地适配器
  • 为nnn.nnn.nnn.nnn绑定到特定的IP地址(它必须在本地解决)
+0

的相关部分的代码,以便从主机文件获取现有地址并将服务器绑定到我通过的地址。 – orustammanapov

+0

现在我明白了,谢谢! – orustammanapov

+0

感谢您指出正确的方向。我不得不将grunt config(conntect/options/hostname)中指定的主机名添加到我的主机文件中,并刷新我的dns缓存 –