使用 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 作为脚本包含(不使用包/模块加载器)的主要内容,如果未能解决你的问题,请参考以下文章
Capacitor Filesystem.getUri 未在 IOS 上返回完整文件路径