Как использовать файлы 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 обычным способом