Android 的 PhoneGap 构建中的 ngInclude 失败

ngInclude fails in PhoneGap build for Android

我正在使用 Angular 和 PhoneGap Build,我遇到了一个问题,只有当该应用程序由 PGB 构建并旁加载到我的 Android 手机 phone 时才会出现。

在使用模拟器(Visual Studio 2015 年)和通过 PhoneGap Desktop(phonegap serve)时有效。

所有其他 Angular 都可以,但模板无法加载。 AB 按预期显示,所以它不是 ngShow 东西。

我已经改用手动引导,但这没有帮助。

有什么建议吗?

index.html:

<!DOCTYPE html>
<html>
<head>
...
</head>
<body data-ng-controller="PageController as page">
    <header class="app-header">
        <div data-ng-show="!loggedIn">A<div data-ng-include="'views/_header/pre-login.html'"></div></div>
        <div data-ng-show="loggedIn">B<div data-ng-include="'views/_header/logged-in.html'"></div></div>
    </header>
    <div class="content" data-ng-view>
    </div>
    <footer class="app-footer" data-ng-show="loggedIn">
    </footer>
    <script type="text/javascript" src="cordova.js"></script>
    <script type="text/javascript" src="lib/angular/angular.min.js"></script>
    <script type="text/javascript" src="lib/angular-route/angular-route.min.js"></script>
    <script type="text/javascript" src="lib/angular-resource/angular-resource.min.js"></script>
    <script type="text/javascript" src="js/pg-app.js"></script>
    <script type="text/javascript" src="js/ng-app.js"></script>
    <script type="text/javascript">
        pgApp.initialize();
    </script>
</body>
</html>

pg-app.js:

var pgApp = {
    initialize: function () {
        document.addEventListener('deviceready', this.onDeviceReady, false);
    },
    onDeviceReady: function () {
        angular.bootstrap(document, ['fGApp'], { strictDi: false });
    }
};

ng-app.js:

var fGApp = angular.module('fGApp', ['ngRoute', 'ngResource', 'fGControllers']);

fGApp.config(function ($routeProvider) {
    $routeProvider
        .when('/', {
            controller: 'HomeController',
            templateUrl: 'views/Account/_Account.html'
        })
        .when('/:controller/', {
            caseInsensitiveMatch: true,
            templateUrl: function (path) { return 'views/' + path.controller + '/_' + path.controller + '.html'; }
        })
        .when('/:controller/:view/', {
            caseInsensitiveMatch: true,
            templateUrl: function (path) { return 'views/' + path.controller + '/' + path.view + '.html'; }
        })

        .otherwise({ redirectTo: '/' });
});

fGApp.run(function ($rootScope, $route) {
    $rootScope.loggedIn = false;

    $route.reload();
});

var fGControllers = angular.module('fGControllers', []);

// concat'd separate files follow

将目录 _header 重命名为 header(并更新模板 url)似乎解决了我的错误...可能是 android webview 或 cordova 怪癖。