0

一直试图在子目录中部署我的 Angular 应用程序,但这里/grid没有显示

  1. 对于 index.html,我添加了<base href="/grid/" />
  2. 对于 firebase 配置,我使用过

    "rewrites": [ {
        "source" : "/grid/**/*",
        "destination" : "/grid/index.html"
     } ]
    
  3. 对于角度配置,

    angular.module('columns', [
      'ui.router',
      'columns.main',
    ])
    .config(function($stateProvider, $urlRouterProvider, $locationProvider) {
       'use strict';
    
       $locationProvider.html5Mode(true);
       $urlRouterProvider.otherwise('/');
    
       $stateProvider
         .state('main', {
           url: '/',
           templateUrl: '/columns/main/main.html',
           controller: 'MainCtrl'
         });
       });
    
  4. 并且构建将具有

     module.run(['$templateCache', function($templateCache) {
       $templateCache.put('/columns/main/main.html','<something>');
     }]);
    

如果我在本地运行它并将基本标记更改为<base href="/" />,它将正常工作。有人看到错误吗?

4

1 回答 1

1

不确定您是否还在寻找,我只是在自己搜索时遇到了您的问题。

您可以在 Firebase 托管(公共)目录中有一个名为“/grid”的子文件夹,正确的重写规则是:

"rewrites": [ {
  "source" : "/grid/**",
  "destination" : "/grid/index.html"
} ]

那就是最后没有额外的“/ *”。从您的配置看来,您只为您的 Angular 应用程序提供了规则,您可能还需要为您的 Angular 路由器设置适当的前缀规则。

希望它有帮助:)

于 2016-05-31T03:25:01.657 回答