我正在构建一个Ionic App,我想在其中使用cordova相机插件,因此我输入:
ionic cordova plugin add cordova-plugin-camera
然后我做:
npm install --save @ionic-native/camera
我收到这个警告:
npm WARN @ionic-native/[email protected] requires a peer of @ionic-native/[email protected] but none is installed. You must install peer dependencies yourself.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
之后,当我在app.module和提供程序列表中包含相机插件时,我收到此消息:
Error: Invalid provider for the NgModule 'AppModule' - only instances of Provider and Type are allowed, got: [StatusBar, SplashScreen, [object Object], ?[object Object]?]
at syntaxError (http://localhost:8100/build/vendor.js:74769:34)
at http://localhost:8100/build/vendor.js:89925:40
at Array.forEach (<anonymous>)
at CompileMetadataResolver._getProvidersMetadata (http://localhost:8100/build/vendor.js:89893:19)
at CompileMetadataResolver.getNgModuleMetadata (http://localhost:8100/build/vendor.js:89463:50)
at JitCompiler._loadModules (http://localhost:8100/build/vendor.js:107787:87)
at JitCompiler._compileModuleAndComponents (http://localhost:8100/build/vendor.js:107748:36)
at JitCompiler.compileModuleAsync (http://localhost:8100/build/vendor.js:107664:37)
at CompilerImpl.compileModuleAsync (http://localhost:8100/build/vendor.js:73605:49)
at PlatformRef.bootstrapModule (http://localhost:8100/build/vendor.js:5747:25)
由于Ionic 4的发布,为Ionic 3安装Ionic Native插件需要在安装Ionic 3时添加@4
。因此要解决此问题,请使用npm uninstall --save @ionic-native/camera
卸载插件,然后使用npm uninstall --save @ionic-native/camera@4
重新安装,问题将得到解决。
你错过了ionic/core
依赖模块。所以通过以下命令npm i @ionic-native/core
安装它们
并尝试安装camera
ionic cordova plugin add cordova-plugin-camera
npm install --save @ionic-native/camera
在进行其他步骤之前,请检查它们是否添加或在package.json
和config.xml