为什么我无法通过networking共享连接到连接投放的网站?

我正在使用grunt,connect和livereload在开发期间提供一个testing页面(这是一个单一的平面HTML页面),我想在我的手机上testing这个站点。 通常情况下,我使用networking共享来做到这一点 – 通过使用我的Mac的本地URL( my-imac.local )导航到网站。

当我使用Python的SimpleHTTPServer服务页面时,这工作正常。 当我使用grunt / connect时,它在那里是不可访问的(尽pipe它仍然可以在本地主机上访问)。 如何将连接configuration为响应这些请求?

我的gruntfile,供参考:

 var path = require('path'); var lrSnippet = require('grunt-contrib-livereload/lib/utils').livereloadSnippet; var folderMount = function folderMount(connect, point) { return connect.static(path.resolve(point)); }; module.exports = function(grunt) { function registerRobustTasks(name, tasks) { grunt.registerTask(name, function() { // so we don't have stupid issues with grunt crashing // every time a test fails... grunt.option('force', true); grunt.task.run(tasks); }); } grunt.initConfig({ pkg : grunt.file.readJSON('package.json'), livereload : { port : 48341 }, connect : { livereload : { options : { port : 48342, middleware : function(connect, options) { return [lrSnippet, folderMount(connect, '.')]; } } } }, regarde : { html : { files : ['*.html'], tasks : ['livereload'] } } }); grunt.loadNpmTasks('grunt-regarde'); grunt.loadNpmTasks('grunt-contrib-livereload'); grunt.loadNpmTasks('grunt-contrib-connect'); registerRobustTasks('default', ['livereload-start', 'connect', 'regarde']); }; 

结果很简单:我需要连接服务器上的hostname : '*'选项。

最简单的方法就是和你的移动设备在你的计算机的同一个LAN上,然后在你的手机上testing,使用计算机的ip地址和你select让你的服务器监听的端口。 例如http://ipaddress:port

要validationgrunt正在运行服务器,可以使用shell中的lsof程序。

$ lsof -i :port将返回绑定到指定端口的计算机上的程序。

同样,如果你删除了端口号,你可以看到一个打开的文件列表(unix把所有的东西当成一个文件),有时你也可以find一些有趣的东西。

$ lsof -i