使用 Capacitor Plugins 作为脚本包含(不使用包/模块加载器)

Posted

技术标签:

【中文标题】使用 Capacitor Plugins 作为脚本包含(不使用包/模块加载器)【英文标题】:Using Capacitor Plugins as Script Include (not with bundle/module loader) 【发布时间】:2020-08-01 10:32:49 【问题描述】:

Capacitor JS 文档方便地记录了如何在不使用包/模块加载器on this page 的情况下包含核心,但没有做的是提供如何实现插件的示例。

例如,Capacitor 文档展示了如何使用相机插件:

import  Plugins  from '@capacitor/core';

const  Camera  = Plugins;

const photo = await Camera.getPhoto(
  quality: 100,
  resultType: CameraResultType.Uri,
  allowEditing: true,
  saveToGallery: true
);

如果我使用的是<script src="capacitor.js"></script> 的包含电容的版本,上面的非模块版本是什么?

谢谢

【问题讨论】:

【参考方案1】:
Capacitor.Plugins.Camera.getPhoto(
  quality: 100,
  resultType: CameraResultType.Uri,
  allowEditing: true,
  saveToGallery: true
)

【讨论】:

谢谢。只需要这个简单的答案,突然间所有插件都可供我使用。 好吧,也许我说得太早了。如果我做类似console.log(Capacitor.Plugins.Device.getInfo()); 的事情,它是空的。 await 命令是否在这里发挥作用? 电容器插件返回承诺,你可以使用 await 或 .then 发现这个答案非常有用。但是我现在剩下的问题是如何在没有构建系统的情况下使用非核心插件。例如:如果我使用npm install @capacitor-community/date-picker 安装了一个外部插件:如何在没有包/模块加载器的情况下添加插件? 在 Capacitor v3 中,这不再有效,因为插件不包含在电容器.js 中,而是单独的。版本 3 中包含关于使用带有脚本的插件的任何想法?

以上是关于使用 Capacitor Plugins 作为脚本包含(不使用包/模块加载器)的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iOS 上使用 Capacitor 保存文件?

Capacitor Motion 插件未显示为已安装

如何使用 Ionic Capacitor 启用捏缩放?

Capacitor Filesystem.getUri 未在 IOS 上返回完整文件路径

使用 uwsgi 配置 Nginx,使用 python 脚本作为 cgi - 502 Bad Gateway

状态栏使用 Capacitor 覆盖 iOS 上的 webview