3rd 方库“cordova-plugin-ms-azure-mobile-apps”在我的 Ionic 2 应用程序中未被识别

2023-12-23

在过去两天到处查看(并浏览各种网站上过去的论坛主题)并且没有解决方案之后,我在这里发帖作为最后的手段。我知道每个人都很忙,但这让我很累。

我已经尝试了一切可能的方法,从多次从头开始创建应用程序,到一次添加一个库,然后运行并确保它正常工作,然后添加另一个库,然后运行该应用程序...

一切都很好,直到我添加“cordova-plugin-ms-azure-mobile-apps“在我的应用程序中。我正在使用以下命令:

离子插件添加 cordova-plugin-ms-azure-mobile-apps --save

这会向我的 config.xml 添加一个条目。

然后,当我尝试引用它将其中的“WindowsAzure”类导入到我的 TypeScript 文件中时,intelisense 不会像其他库(如 ionic-native、rxjs、momentjs 等)那样提供该库作为选项.)。我也将其添加到“declarations.d.ts”中,但这也没有帮助。但我仍然继续手动导入它,如下所示:

从“cordova-plugin-ms-azure-mobile-apps”导入 { WindowsAzure };

当我运行命令时,VS Code 不会抱怨,“离子服务”也不会抱怨(在构建代码时)。但是,当应用程序尝试在浏览器(Chrome)中启动时,我收到一个运行时错误:找不到模块“cordova-plugin-ms-azure-mobile-apps”.

为了确保安全,我尝试使用“ionic run android”在我连接的 Android 手机上运行它。在手机上,它也尝试启动应用程序(我得到了预期的启动画面),然后屏幕变成全白并保持这样。将 Android 手机连接到笔记本电脑后,我尝试在 Chrome 中进行检查。它显示出相同的“找不到模块“cordova-plugin-ms-azure-mobile-apps“错误为”未捕获的错误”。 请注意,我在添加之前在手机上运行了该应用程序(并在代码中使用它)这个图书馆和它的工作就像一个魅力。

为了尝试另一种方法,我使用以下命令添加浏览器作为平台:

ionic平台添加浏览器

然后使用以下命令运行应用程序:

离子运行浏览器

同样的行为。它没有启动。

为了尝试更多,我使用命令添加了库:

npm 安装 cordova-plugin-ms-azure-mobile-apps --save

然后它被添加到我的应用程序的 package.json 的“依赖项”部分。然后,当我尝试在“导入”中的 TypeScript 文件中引用它时,我将库作为 InteliSense 选项。但最终的结果还是一样。我在 Chrome 浏览器中仍然收到运行时错误“找不到模块 cordova-plugin-ms-azure-mobile-apps”,并且在 Android 手机上出现白色空白屏幕。

如果您能帮我解决这个问题,我将不胜感激。我迫切需要帮助,因为我已经用尽了所有的选择和所有的思考能力。 :(

附: - 仅当我尝试使用 Ionic 2 应用程序时才会发生这种情况。否则,当我在单独的项目中使用 HTML/JavaScript/Cordova/Node.js 时,它绝对可以正常工作。 : 皱眉:

谢谢。


终于,成功了!感谢微软的支持!

我认为,在 TypeScript 世界中这不是最好的解决方案,但这是使其发挥作用的唯一方法。

所以,我所要做的就是使用“Windows Azure“命名空间来自”cordova-plugin-ms-azure-mobile-apps“作为常规普通的旧 JavaScript 变量而不是做一个“import".

也就是说,不要将 WindowsAzure 导入为:

从“cordova-plugin-ms-azure-mobile-apps”导入 { WindowsAzure };

在所有“之后,我将其声明为常规 JavaScript 对象”imports“和之前”@成分“类和/或”@Injectable“ 服务/提供者类别,如:

```

import { ... } from '...';

declare var WindowsAzure: any;

@Injectable
export class ... {
    client: any;
    ....
    constructor or yourMethod(...) {
        this.client = new WindowsAzure.MobileServiceClient('http://YourAzureMobileApp.azurewebsites.net');
    }
    ....
    ....
    //Your logic
}

```

因此,显然,在 Ionic 2 中,如果您的第三方库未被常规“识别”import" 语句那么你应该尝试以旧的 JavaScript 方式使用它。

就这么简单的解决方案,我最终花了两天时间。 :(

希望这可以帮助人们节省时间。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

3rd 方库“cordova-plugin-ms-azure-mobile-apps”在我的 Ionic 2 应用程序中未被识别 的相关文章

随机推荐