我正在使用Yeoman + AngularJS + Ui路由器。当我使用ng-router时,可能打开移动浏览器(local-ip):9000并使用app,但是使用Ui Router我不能这样做。我应该设置什么吗?
例如:在计算机中运行grunt服务器。在移动设备上打开我的浏览器并访问我的本地IP:端口。
代码:
app.js
.config(['$locationProvider', '$urlRouterProvider', '$httpProvider',
function($locationProvider, $urlRouterProvider, $httpProvider) {
$locationProvider.html5Mode(true).hashPrefix('!');
$urlRouterProvider.otherwise('/404');
$httpProvider.interceptors.push('AuthInterceptorService');
}
.run(['$rootScope', 'AuthenticationService', '$state',
function($rootScope, AuthenticationService, $state) {
var routesThatRequireAuth = ['/dashboard'];
$rootScope.$on('$stateChangeStart',
function(event, toState) {
if (_.contains(routesThatRequireAuth, toState.url) && !AuthenticationService.isLoggedIn()) {
event.preventDefault();
$state.transitionTo('login');
} else if (toState.url === '/' && AuthenticationService.isLoggedIn()) {
event.preventDefault();
$state.transitionTo('dashboard');
}
});
}
]);
login.js
'use strict';
angular.module('App').config(['$stateProvider',
function($stateProvider) {
$stateProvider
.state('login', {
url: '/',
views: {
'': {
templateUrl: 'views/login/login.html',
controller: 'LoginCtrl'
},
'header@login': {
templateUrl: 'views/layouts/anonymous/header.html'
},
'body@login': {
templateUrl: 'views/login/body.html'
}
}
});
}
]);
答案 0 :(得分:2)
如果您需要在移动设备上调试Angular应用程序,可以查看此内容 https://developer.chrome.com/devtools/docs/remote-debugging
答案 1 :(得分:0)
您的问题是:如何从我的移动设备连接到我的Angular / Node测试服务器。
首先,您要测试的服务器和其他测试设备需要连接到同一网络。这意味着,如果您尝试使用3G手机进行测试,则无法使用。
通常,您只需通过WiFi连接到PC所连接的同一路由器。
然后你需要弄清楚你的服务器正在使用什么IP。每当您在本地测试时,您的地址栏显示“localhost”或“127.0.0.1”,这两个地址被称为环回地址,如果您将该地址放入移动设备,它们将无法工作。
要获取实际IP地址,如果您在Windows上打开命令行并从正在开发的计算机中键入 ipconfig ,您将看到您的IP地址。
现在有了这些信息,您可以通过运行服务器并在移动设备中打开浏览器进行测试。在地址栏中输入http://192.168.1.5:9000
(用您的实际IP地址替换192.168.1.5),然后按go。
您现在应该可以通过手机查看自己的网站了。请记住,很多事情都可能出错。您可以启用防火墙,路由器可能会使用NAT阻止您的服务器,或者您的IP可以动态更改。
专业提示:了解如何获取静态IP并使用域名或DynDNS服务(如https://zzzz.io/)进行更快捷/更轻松的测试。