基于 Cordova 插件创建节点模块

     2023-03-15     240

关键词:

【中文标题】基于 Cordova 插件创建节点模块【英文标题】:Create Node Module based off of Cordova Plugin 【发布时间】:2017-09-04 16:48:48 【问题描述】:

我目前正在开发一个应用程序,如果该应用程序不在设备上,则需要打开另一个应用程序或带您到相应的商店下载。我正在使用 Ionic 3 和 Angular 4。

为了打开应用程序,我使用了 Ionic 的 Native InAppBrowser,这对于 iOS 和 Android 的 Twitter 和 Facebook 等应用程序都非常有效。它也适用于我试图在 iOS 上打开的当前应用程序。但是,在 android 上,我得到了意图错误。我能够通过原生打开应用程序来解决这个问题,这涉及到我在 InAppBrowser 中打开已转译的代码并将本机代码放在那里。这可能是一个解决方案,但我不喜欢它,因为这意味着如果 InAppBrowser 要更新,我必须记住重新添加我的代码。

这给了我编写自己的插件的想法。我按照本指南创建插件:https://taco.visualstudio.com/en-us/docs/createplugintutorial/ 非常棒,除了测试插件时。我不知道如何在 Angular 中引用插件。我想创建一个与我的插件一起使用的节点模块,以便我可以正确测试。我已经尝试查看当前正在导出插件的节点模块,但我无法通过代码来找出我需要的具体内容。

我希望有人可以向我展示为 Angular 创建插件和节点模块的正确方法,就像 Ionic 使用他们的本机代码所做的那样。

谢谢, 亚历克斯

【问题讨论】:

【参考方案1】:

我真的不知道您创建自己的node_module 是什么意思,但这就是您在 Ionic 中使用自定义 cordova-plugin 的方式(我在这里使用 In-App-Browser 插件作为示例):

declare var NameOfTheJsModule // tell typescript that this js-module exists

可以在插件的plugin.xml中的name属性下找到js-module的名称:

<js-module src="www/inappbrowser.js" name="inappbrowser">
  ...
</js-module>

所以在这种情况下:

delcare var inappbrowser;

并使用它:

this.inappbrowser.show();

Ionic 对 ionic-native 所做的是将插件的 API 包装到 typescript 类中,以便为您提供类型(这使得在许多情况下使用插件更容易)并使 Angular 更改检测正常工作。

【讨论】:

感谢您的回复。那么在这种情况下,代码会在我使用 ionic serve 时运行,还是仅在我构建平台时才有效?我尝试了上面的代码,它告诉我在使用 ionic serve 运行时它是未定义的。 好吧,当您运行ionic serve 时,cordova 不可用,因此插件将不可用。要在浏览器中使用您的插件,您必须添加浏览器平台:ionic cordova platform add browser 并运行:ionic cordova run browser。您还必须在 plugin.xml 中指定浏览器平台。 只是想让你知道我能够成功创建一个cordova插件并使用它。再次感谢您的帮助! 太棒了!没问题,很乐意提供帮助!

Cordova 无法添加插件:错误:找不到模块“unorm”

】Cordova无法添加插件:错误:找不到模块“unorm”【英文标题】:Cordovacan\'taddplugin:Error:Cannotfindmodule\'unorm\'【发布时间】:2018-03-2721:24:43【问题描述】:我正在尝试向我的cordova应用程序添加插件,但我收到一条错误消息,提示... 查看详情

已定义未捕获的模块插件 - Cordova 9.0

】已定义未捕获的模块插件-Cordova9.0【英文标题】:Uncaughtmodulepluginalreadydefined-Cordova9.0【发布时间】:2021-06-1607:26:50【问题描述】:我正在使用CordovaCLI9.0、Cordova-Android9.0和Ionic4Web应用程序。它运行正常,但我的插件不断收到这些... 查看详情

在钩子文件夹中使用节点脚本时出现cordova插件安装问题

】在钩子文件夹中使用节点脚本时出现cordova插件安装问题【英文标题】:cordovaplugininstallationissuewhenusingnodescriptinhooksfolder【发布时间】:2014-07-2206:18:01【问题描述】:Cordova3.4hooks没有在iOS中正确安装提到的插件。我将install_plugins... 查看详情

安全访问渲染器进程中基于节点的模块

】安全访问渲染器进程中基于节点的模块【英文标题】:Accessnode-basedmodulesinrendererprocesssecurely【发布时间】:2019-06-2011:12:42【问题描述】:阅读Electron\'ssecuritytutorial后,我在创建BrowserWindow的实例时禁用了nodeIntegeration并启用了cont... 查看详情

cordova.js如何使用

Cordova应用基于Webview,所以后台代码和js交互都是基于Webview(Webkit)的接口的。以下以Android调用照相机为例,简单说明一下调用及回调过程。 (1)创建的过程①添加插件引用cordovapluginaddorg.apache.cordova.camera在plugins... 查看详情

在 iOS 中创建 cordova 插件

】在iOS中创建cordova插件【英文标题】:CreatecordovaplugininiOS【发布时间】:2014-08-0711:01:08【问题描述】:我是基于Phonegap的应用程序的新手。我必须在ObjectiveC类中推送一个方法。我想为此创建一个插件,有人可以帮助我吗?如果... 查看详情

为 Garmin 移动 SDK 创建 Cordova 插件

】为Garmin移动SDK创建Cordova插件【英文标题】:CreatingaCordovaPluginforGarminMobileSDK【发布时间】:2016-12-1823:47:05【问题描述】:我主要是使用Cordova的混合应用程序开发人员。我遇到了一个有趣的场景,我认为我需要创建一个Cordova插... 查看详情

创建 Cordova 2.2.0 插件

】创建Cordova2.2.0插件【英文标题】:CreateCordova2.2.0Plugins【发布时间】:2012-11-2906:36:57【问题描述】:我一直想知道为什么我的旧插件在cordova2.2.0中不起作用。我发现如何为插件制作javascript文件有一个新结构。我能够让它工作,... 查看详情

Node.js:如何创建付费节点模块?

...:20:32【问题描述】:如何销售节点模块?我需要将我的CMS插件发布到NPM并允许用户安装它们,因此其中一些可以付费。我该怎么做?【问题讨论】:【参考方案1】:与这里的一些答案相反,并非npm上的所有内容都是开源的或任... 查看详情

有没有人开始创建 React Native API/插件/模块? [关闭]

...5-3123:20:00【问题描述】:我想将我的任何应用程序移植到Cordova/phonegap以响应原生,但由于如此新,ReactNative有点受限,并且没有我需要的所有功能。有谁知道reactnat 查看详情

ionic+cordova插件创建最详细教程(代码片段)

l介绍本文将细致讲解cordova插件的创建、编写、配置、发布,涉及aar+jar+so、静态资源、四大组件等。l环境准备1.node2.ionic3.cordova4.plugmanplugman是用于安装和卸载用于ApacheCordova项目的插件的命令行工具,安装plugman$npminstall-gp... 查看详情

ionic+cordova插件创建最详细教程(代码片段)

l介绍本文将细致讲解cordova插件的创建、编写、配置、发布,涉及aar+jar+so、静态资源、四大组件等。l环境准备1.node2.ionic3.cordova4.plugmanplugman是用于安装和卸载用于ApacheCordova项目的插件的命令行工具,安装plugman$npminstall-gp... 查看详情

Cordova 插件和依赖项

】Cordova插件和依赖项【英文标题】:CordovaPluginsanddependencies【发布时间】:2016-01-1215:13:53【问题描述】:我想为iOS创建一个使用其他预制Cordova插件并对其进行修改的Cordova插件。例如,我想创建一个插件来上传mp3类型的音频文件... 查看详情

如何使用sdk创建cordova插件(代码片段)

...添加一个Androidsdk。没有插件,所以我必须为它创建一个cordova插件。我现在尝试了几天,我可以获得安装和构建的插件,没有错误,但调用插件方法似乎没有做任何事情。我可以获取插件的js文件来输出console.logs,但java文件似乎... 查看详情

使用 Cordova 文件插件创建文件时返回 INVALID_MODIFICATION_ERR

】使用Cordova文件插件创建文件时返回INVALID_MODIFICATION_ERR【英文标题】:INVALID_MODIFICATION_ERRreturnwhenusingCordovafileplugincreatefile【发布时间】:2015-11-1204:35:01【问题描述】:在Android5.1、Nexus10上使用Cordova文件插件1.3.3版创建和写入文件... 查看详情

cordova开发-1项目的创建

需要先进入到项目路径1.创建项目cordovacreatehellocom.example.helloHelloWorld2.生成iOScordovaplatformaddios--save3.编译cordovabuildios 4.插件cordovapluginsearchcamera搜索插件cordovapluginls查看插件cordovapluginaddcordova-plug 查看详情

cordova与现有框架的结合,cordova插件使用教程,cordova自定义插件,框架集成cordova,将cordova集成到现有框架中(代码片段)

 一、框架集成cordova将cordova集成到现有框架中一般cordova工程是通过CMD命令来创建一个工程并添加Android、ios等平台,这样的创建方式可以完整的下载开发过程中所需要的的插件。也是最方便和快捷一种方式。因此我们需要用... 查看详情

当前工作目录不是 Ionic 5 中基于 Cordova 的项目

】当前工作目录不是Ionic5中基于Cordova的项目【英文标题】:CurrentworkingdirectoryisnotaCordova-basedprojectinIonic5【发布时间】:2020-05-1012:25:52【问题描述】:我的IonicPWA项目有相机、定位cordova插件。他们工作正常。我在我的项目中添加... 查看详情