Как использовать файлы JavaScript из Angular 2 (Angular-Cli) проекта в Cordova

Когда я собираю свой проект angular-cli, он генерирует несколько файлов bundle.js, которые я хочу использовать в своем проекте cordova. Проблема в том, что Cordova не читает файлы JS. Файлы js находятся в папке www, а теги script - в файле index.html. Кто-нибудь знает, почему Cordova не читает файлы JS?

Это файл index.html

<!DOCTYPE html>
<html>
    <head>
        <meta name="format-detection" content="telephone=no">
        <meta name="msapplication-tap-highlight" content="no">
        <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width">
        <link rel="icon" type="image/x-icon" href="favicon.ico">
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
        <base href="/">
        <title>Test</title>
    </head>
    <body>
        <test-app>
            <div class="center-div center-text">
                Loading... <br /><br />
                <!--<img class="loading no-style" src="/images/loading.png">-->
                <i class="fa fa-spinner fa-spin fa-5x fa-fw"></i>
            </div>
        </test-app>
        <script type="text/javascript" src="inline.bundle.js"></script>
        <script type="text/javascript" src="styles.bundle.js"></script>
        <script type="text/javascript" src="scripts.bundle.js"></script>
        <script type="text/javascript" src="main.bundle.js"></script>
        <script type="text/javascript" src="cordova.js"></script>
        <script type="text/javascript" src="scripts/platformOverrides.js"></script>
        <script type="text/javascript" src="scripts/index.js"></script>
    </body>
</html>

РЕДАКТИРОВАТЬ: Это решение работает для меня:

Добавьте это в config.xml:

<access origin="*"/>
<access origin="tel:*" launch-external="yes"/>
<allow-navigation href="*"/>
<allow-navigation href="http://*/*"/>
<allow-navigation href="https://*/*"/>
<allow-navigation href="data:*"/>
<allow-intent href="*"/>

А затем измените базовый HREF с <base href="/"> в <base href=".">

2 ответа

Решение

Я не могу комментировать (недостаточно репутации), но у меня была та же проблема, и я нашел решение уже здесь, в Stackru. Поскольку нет проголосованного ответа и нет объяснения ваших выводов, я оставляю ссылку на свое объяснение:

/questions/10930132/apache-cordova-dlya-android-ne-zagruzhaet-resursyi/10930135#10930135

Обратите внимание, что вы можете объявить базовый путь при использовании инструмента angular-cli с помощью параметра --base-href PATH, Таким образом, вам не нужно ничего обновлять вручную, вы можете использовать --base-href . при строительстве.

Salu2.

angular-cli использует webpack для DM и подделывает вашу файловую структуру, поэтому для решения конкретной проблемы вы можете пройти очень хорошее руководство для пользователей cordova по адресу https://www.becompany.ch/en/blog/tech/2016/10/19/creating-apache-cordova-app-with-angular2.html или вы можете использовать systemjs и gulp обычным способом

Другие вопросы по тегам