Angularjs 从本地文件系统提供站点服务时,角度视图是否有效?

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开发一个应用程序。我正在Windows上开发本地文件系统。但是,当我启用
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)
    python-mhttp.server8001
    (在2中用SimpleHttpServer替换http.server)
  • 从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。