我正在使用grunt,connect和livereload在开发过程中提供测试页面(它是一个单独的平面HTML页面),我想在手机上测试该网站。通常情况下,我使用网络共享 - 使用我的Mac的本地网址(my-imac.local
)导航到网站。
当我使用Python的SimpleHTTPServer服务页面时,这很好用。当我使用grunt / connect时,它在那里是不可访问的(尽管它仍然可以在localhost访问)。如何配置连接以响应这些请求?
我的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']);
};
答案 0 :(得分:1)
事实证明这很简单:我在连接服务器上需要一个hostname : '*'
选项。
答案 1 :(得分:0)
最简单的方法是使用移动设备与计算机位于同一LAN上,然后在手机上进行测试,使用计算机的IP地址和您选择让服务器监听的端口。例如http://ipaddress:port
。
要验证grunt是否正在运行服务器,您可以使用shell中的lsof
程序。
$ lsof -i :port
将返回计算机上绑定到指定端口的程序。
同样,如果你删除端口号,你可以看到一个打开的文件列表(unix将所有内容视为文件),你有时也可以找到一些有趣的东西。
$ lsof -i