Angularjs 从本地文件系统提供站点服务时,角度视图是否有效?
我正在使用angular开发一个应用程序。我正在Windows上开发本地文件系统。但是,当我启用Angularjs 从本地文件系统提供站点服务时,角度视图是否有效?,angularjs,angularjs-routing,Angularjs,Angularjs Routing,我正在使用angular开发一个应用程序。我正在Windows上开发本地文件系统。但是,当我启用angular route.js时,每当我用浏览器点击index.html,它就会转到index.html.\C:// 我的路线定义是: myApp.config(['$routeProvider', function($routeProvider) { $routeProvider.when('/', {templateUrl: 'home.html', controller: 'HomeC
angular route.js
时,每当我用浏览器点击index.html
,它就会转到index.html.\C://
我的路线定义是:
myApp.config(['$routeProvider', function($routeProvider) {
$routeProvider.when('/', {templateUrl: 'home.html', controller: 'HomeCtrl'});
}
我认为这会导致站点中断,因为/C://
与任何角度路线都不匹配。怎么了?如何修复此问题?要使路由和ajax(&more)正常工作,请运行本地开发服务器;避免使用file://
进行开发,因为浏览器对其有不同的规则
像yeoman
+generator angular
这样的工具将自动使用server
任务设置GrunFile,该任务将运行节点连接
服务器以在本地为您的文件提供服务
你可以用它来做这个
- python:(3)
(在2中用SimpleHttpServer替换http.server)python-mhttp.server8001
- 从angularjs教程()-“您需要在系统上运行http服务器,但如果尚未安装http服务器,则可以使用node运行scripts\web-server.js,这是一个简单的捆绑http服务器。”
评论回复:对于phonegap,使用。它完全按照我说的做了,它运行一个这将起作用
angular.module('MainModule', []).config(function($locationProvider, $routeProvider) {
$locationProvider.hashPrefix("!");
$locationProvider.html5Mode(false);
$routeProvider.when('/', {template: './js/templates/home.html', controller:HelloWorldCtrl});
$routeProvider.when('/other', {template: './js/templates/other.html'});
});
在索引HTML中,您需要指定模板:
<script type="text/ng-template" src="./js/templates/home.html"></script>
<script type="text/ng-template" src="./js/templates/other.html"></script>
是的,angular js将在本地运行。请发布您的路由定义。我相信phonegap工具旨在本地或远程编译和打包phonegap应用程序,并在模拟器中运行生成的版本。不在本地提供文件。-“创建一个本地服务器为项目提供服务。预期的接收器是PhoneGap应用程序,但任何浏览器都可以使用该内容。”此外,编辑:angular教程本身告诉您运行http服务器。可能有些东西说你不能从文件中运行它://
,但它不值得寻找,因为我知道这是真的;您不能在文件中运行它://
;angular无法将windows路径解析为根目录,因为它不是在野外遇到的url。