angularjs删除index.html

时间:2015-05-18 13:20:29

标签: javascript html angularjs iis iis-express

更新

AngularJS现在有效。切换到WebStorm IDE,但也有问题设置,这对我有帮助:Bower "Git not in the PATH" error(Bower“Git not in the PATH”错误)。

很快我会再次尝试在WebStorm下进行修改。

如何从localhost URL中删除index.html?有类似的问题,但他们无法帮助我。

这是我到目前为止所做的:

的index.html:

MapView

app.js:

<head><title>MyApp</title></head>    
<body>
  <div ng-view>
      <a href="#/menu">Menu</a>
      <a href="#/main">Main</a>
  </div>
</body>

config.js:

var app = angular.module('myApp', [
  'ngRoute',
  'ngResource',
  'HTML5ModeURLs'
});

2 个答案:

答案 0 :(得分:2)

您是否尝试从应用网址中删除index.html?

app.config(['$routeProvider', '$locationProvider',
function ($routeProvider, $locationProvider) {
$route.html5Mode(true);

$routeProvider.
     when('/', {
        templateUrl: 'index.html',
        controller: 'HomeCtrl'
    }).
    when('/menu', {
        templateUrl: 'Modules/Menu/view.html',
        controller: 'Modules/Menu/controller'
    }).
    when('/main', {
        templateUrl: 'Modules/Main/view.html',
        controller: 'Modules/Main/controller'
    }).
    otherwise({
        redirectTo: '/menu'
    });
  }
]);

设置路线&#39; /&#39;我应该做的工作。这就是我如何做到这一点。

答案 1 :(得分:2)

您正在使用IIS Express托管AngularJS应用程序文件,因此我认为topic正是您所寻找的。 Yagiz Ozturk 解决方案建议您以这种方式配置IIS服务器以重写URL,这样您就可以跳过 index.html 部分:

<system.webServer>
<rewrite>
  <rules>
    <rule name="AngularJS" stopProcessing="true">
      <match url=".*" />
      <conditions logicalGrouping="MatchAll">
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
        <add input="{REQUEST_URI}" pattern="^/(api)" negate="true" />
      </conditions>
      <action type="Rewrite" url="/" />
    </rule>
  </rules>
</rewrite>