繁体   English   中英

如何在Cordova中使用angular 2(angular-cli)项目中的javascript文件

[英]How to use javascript files from angular 2 (angular-cli) project in cordova

当我构建angular-cli项目时,它会生成许多想要在cordova项目中使用的bundle.js文件。 问题在于cordova无法读取js文件。 js文件位于www文件夹中,而script标签位于index.html文件中。 有谁知道为什么科尔多瓦不读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=".">

我无法发表评论(信誉不足),但是我遇到了同样的问题,并在Stackoverflow中找到了解决方案。 由于没有表决的答案,也没有关于您的结论的解释,因此请保留指向我的解释的链接:

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

请注意,使用angular-cli工具时,可以通过--base-href PATH参数声明基本路径。 这样,您无需手动更新任何内容,可以使用--base-href . 在建造时。

莎露2。

angular-cli正在使用DM的webpack,它伪造了您的文件结构,因此对于特定问题,您可以在https://www.becompany.ch/zh/blog/tech/2016/10/19上为Cordova用户提供非常好的指南/creating-apache-cordova-app-with-angular2.html,或者您可以使用systemjs和gulp以常规方式使用

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM