【问题标题】:How to use javascript files from angular 2 (angular-cli) project in cordova如何在科尔多瓦中使用 angular 2 (angular-cli) 项目中的 javascript 文件
【发布时间】:2017-04-19 22:02:15
【问题描述】:

当我构建我的 angular-cli 项目时,它会生成一些我想在我的 cordova 项目中使用的 bundle.js 文件。问题是cordova 不读取js 文件。 js 文件位于 index.html 文件中的 www 文件夹和脚本标记中。 有谁知道为什么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从&lt;base href="/"&gt;更改为&lt;base href="."&gt;

【问题讨论】:

  • 您可以看看 ionic,它还为cordova 提供角度支持吗?

标签: javascript cordova angular angular-cli


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    我无法发表评论(没有足够的声誉),但我遇到了同样的问题,并在 Stackoverflow 中找到了解决方案。由于没有投票答案,也没有关于您的结论的解释,我将链接留给我的解释:

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

    请注意,使用 angular-cli 工具时,您可以使用参数--base-href PATH 来声明基本路径。这样你就不必手动更新任何东西,你可以在构建时使用--base-href .

    Salu2.

    【讨论】:

    • 是的,它现在对我有用。查看我帖子中的编辑,看看哪个解决方案对我有用
    猜你喜欢
    • 2018-09-12
    • 2021-07-02
    • 2017-12-17
    • 1970-01-01
    • 2014-03-22
    • 1970-01-01
    • 2015-08-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多