当前位置: 首页 > 知识库问答 >
问题:

添加SMS插件Ionic时,类型错误对象不是函数

梁宏才
2023-03-14

正在尝试使用

手机短信插件

将短信功能添加到应用程序中。我已经完成了文档中提到的安装-

我添加行

import { SMS } from '@ionic-native/sms';

但当我加上

public sms: SMS

在构造函数参数中,它在JS控制台中抛出以下错误,页面停止工作。

果心js:12501错误错误:未捕获(promise中):类型错误:对象(…)不是函数类型错误:对象(…)不是索引处的函数。js:93 at模块/node\u模块/@离子本机/短信/索引。js(index.js:142)at webpack\u require(bootstrap:83)at Module/src/app/pages/sendtext/sendtext。页ts(pages sendtext sendtext module.js:92)at webpack\u require(bootstrap:83)at module/src/app/pages/sendtext/sendtext。单元ts(pages sendtext sendtext module.js:18),位于webpack\u require(bootstrap:83),位于$\u lazy\u route\u resource lazy namespace object:32,位于ZoneDelegate。推送/node\u模块/区域。js/地区/区域。js。分区Legate。在对象上调用(zone.js:388)。onInvoke(core.js:14060)位于resolvePromise(zone.js:814)位于resolvePromise(zone.js:771)位于zone。js:873在ZoneDelegate。推送/node\u模块/区域。js/地区/区域。js。分区Legate。对象上的invokeTask(zone.js:421)。ZoneDelegate的onInvokeTask(core.js:14051)。推送/node\u模块/区域。js/地区/区域。js。分区Legate。在区域中调用任务(zone.js:420)。推送/node\u模块/区域。js/地区/区域。js。区drainMicroTaskQueue(zone.js:595)处的runTask(zone.js:188)

这只是一个基本的ionic安装,添加的唯一插件是SMS插件。非常感谢您的帮助。

下面是package.json文件中的依赖项部分。

“依赖项”:{“@angular/common”:“~ 7.0.0”,“@angular/core”:“~ 7.0.0”,“@angular/forms”:“~ 7.0.0”,“@angular/http”:“~ 7.0.0”,“@angular/platform browser”:“~ 7.0.0”,“@angular/router”:“~ 7.0.0”,“@ionic native/core”:“5.0.0-beta.21”,“@ionic native/sms”:“^4.18.0”,“。@ionic native/闪屏“:“5.0.0-beta.21”,“@ionic native/状态栏”:“5.0.0-beta.21”,“@离子/角度”:“4.0.0-beta.16”,“cordova android”:“7.1.4”,“cordova ios”:“4.5.5”,“cordova插件设备”:“^2.0.2”,“cordova插件离子键盘”:“^2.1.3”,“cordova插件离子网络视图”:“^2.2.5”,“cordova插件飞溅屏幕”:“^5.0.2”,“cordova插件状态栏”:“^2.4.2”,“cordova插件白名单”:“^1.3”,“cordova短信插件”:“0.1.13”,“core js”:“^2.5.4”,“rxjs”:“~ 6.3.3”,“zone.js”:“~ 0.8.26”},

共有3个答案

常温文
2023-03-14

尝试添加此

npm i rxjs@6 rxjs-compat@6 promise-polyfill --save
阎志义
2023-03-14

好吧,我在我的包裹里也面临着同样的问题。json我刚刚更改了sms插件版本,并将其编写为与ionic native/core相同的版本,然后执行命令npm install,当我再次为我的项目提供服务时,它解决了我的问题

"@ionic-native/core": "^5.0.0",
"@ionic-native/sms": "^5.0.0",

也在您的模块中

import { SMS} from '@ionic-native/sms/ngx';
@NgModule({
  providers: [
   SMS
  ]
})
王磊
2023-03-14

添加一些模块,比如...

import { SMS} from '@ionic-native/sms';
@NgModule({
  providers: [
   SMS
  ]
})
 类似资料:
  • 无法理解为什么在尝试实现此角度代码时会出现TypeError。它在类({constructor:function(){}})周围生成错误。不确定原因。谢谢你的帮助

  • 每当我将添加到解决方案中时,在构建过程中就会出现一个错误:app:transformClassesWithStackFramesFixerforDebug。在下面添加了整个输出。Project是一个空的Cordova插件,除了安装的插件什么都没有。感谢援助。下面添加了Stacktrace。我用的是最新的科尔多瓦版本。 目前,我尝试的是: null

  • 我正在尝试在Angular项目中使用包来验证电话号码 但是它给了我 type error:a . getcountrycodeordefault不是函数。 有人能帮我一下吗??

  • 我试着用角函数乘以两个字符串。 但我得到了这个错误: 错误类型错误:公司编号不是一个函数 在HTML中,如何将两个字符串与角度相乘? 编辑: gsc指出,我可以简单地将字符串相乘。 12 但是,要小心 43

  • 我正在尝试使用Angular构建一个静态站点。我想要的是将一些全局css/js/image文件添加到 这是我在索引中的代码。html 我的css文件夹与索引处于同一级别。html文件 我添加的每个样式表都会出现这个错误(来自ng serve with chrome) 拒绝应用http://localhost:4200/css/layers.css的样式,因为它的MIME类型(text/html)不

  • 错误: 我试图通过这个留档https://www.npmjs.com/package/multer来处理MulterError,但遇到了一个问题。 控制台.log(req.body)给出 { },而表单 enctype 等于“多部分/表单数据”。如果我将其更改为“应用程序/ x-www-表单-网址编码”,则req.body是正常的,但文件不会上传到服务器。 穆特用法 从保修页面使用表单enctyp