Ionic 的网络原生插件缺少提供程序

Posted

技术标签:

【中文标题】Ionic 的网络原生插件缺少提供程序【英文标题】:Missing provider for Ionic's Network native plugin 【发布时间】:2019-09-27 04:13:22 【问题描述】:

我尝试过使用 Ionics 原生插件“Network”,但由于缺少提供程序而失败。为了避免任何错误,我安装了全新安装的 Ionic 和所需的依赖项:

ionic cordova plugin add cordova-plugin-network-information
npm install @ionic-native/network

然后我将依赖添加到 home 的构造函数中:

import  Component  from '@angular/core';
import  Network  from '@ionic-native/network/ngx';

@Component(
  selector: 'app-home',
  templateUrl: 'home.page.html',
  styleUrls: ['home.page.scss'],
)
export class HomePage 
  constructor(private network: Network) 
      // to nothing ...
  

...执行ionic serve后会得到如下错误信息:

ERROR Error: Uncaught (in promise): 
Error: StaticInjectorError(AppModule)[HomePage -> Network]: 
  StaticInjectorError(Platform: core)[HomePage -> Network]: 
    NullInjectorError: No provider for Network!
Error: StaticInjectorError(AppModule)[HomePage -> Network]: 
  StaticInjectorError(Platform: core)[HomePage -> Network]: 
    NullInjectorError: No provider for Network!

系统信息

Ionic:

   ionic (Ionic CLI)             : 4.12.0 (/Users/samnowakowski/node_modules/ionic)
   Ionic Framework               : @ionic/angular 4.4.0
   @angular-devkit/build-angular : 0.13.9
   @angular-devkit/schematics    : 7.3.9
   @angular/cli                  : 7.3.9
   @ionic/angular-toolkit        : 1.5.1

Cordova:

   cordova (Cordova CLI) : 9.0.0 (cordova-lib@9.0.1)
   Cordova Platforms     : none
   Cordova Plugins       : no whitelisted plugins (1 plugins total)

System:

   android SDK Tools : 26.1.1 (/Users/admin/Library/Android/sdk)
   NodeJS            : v10.15.3 (/usr/local/bin/node)
   npm               : 6.9.0
   OS                : macOS Mojave
   Xcode             : Xcode 10.2.1 Build version 10E1001

【问题讨论】:

【参考方案1】:

打开应用模块(app.module.ts)和下面的代码:

import  Network  from '@ionic-native/network/ngx';

@NgModule(
   ...
   providers: [
      Network
   ]
); 

【讨论】:

谢谢。也许应该在文档中添加它。 :-) 在 ionic3 文档中添加了它,但在最新版本中未添加。在最新版本中大量的框架支持。只有角度需要它

以上是关于Ionic 的网络原生插件缺少提供程序的主要内容,如果未能解决你的问题,请参考以下文章

从 Ionic NFC 插件读取标签提供的信息与我使用阅读器时不同

媒体捕捉原生插件 Ionic 3

所有原生 cordova 插件都停止在 Ionic3 上工作

通过 perl 服务器提供 ionic vue 构建不起作用

Ionic pro 构建失败并出现错误 Xcode 9 未提供配置文件

Paypal错误没有提供商在我的Ionic App中显示