2016-12-05 1 views
0

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

Это файл 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> 

EDIT: Это решение работает для меня:

Добавьте к этому 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=".">

+0

Можете ли вы взглянуть на ионный, который также обеспечивает угловую поддержку кордовы? – hering

ответ

0

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

https://stackoverflow.com/a/39707190/6852181

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

Salu2.

+0

Да, теперь это работает для меня. Посмотрите на редактирование в моем сообщении, чтобы посмотреть, какое решение для меня работает – lin001

0

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