nativescript-aws
用于 AWS JavaScript SDK 的 NativeScript 封装。修复了一些不兼容问题。
npm i --save nativescript-aws

NativeScript AWS 插件

不要将您的 AWS 密钥提交到版本控制系统!机器人会扫描公共仓库并为您创建服务器实例,您将为此付费。

问答

问:为什么使用此模块而不是直接使用 AWS JS SDK?

答:因为您不能,因为该模块依赖于 Node 和/或浏览器(crypto、path、DOMParser 等)。这些在 NativeScript 环境中都不可用。

问:那么这个插件不是使用 AWS JS SDK 吗?

答:是的,但是安装插件后,它将修改 AWS SDK 中的一些部分,使其与 NativeScript 兼容。

问:哈哈。什么?修改 AWS?

答:这里的主要技巧是一个 postinstall 钩子,该钩子扫描 aws-sdk 模块中的 package.json 文件,查找 browser 配置节点,并查找替换该包及其依赖项中的任何匹配的 require() 调用。

问:但是浏览器ify / Webpack 不解决这个问题吗?

答:在这个例子中不是这样,至少不是没有进一步修改。您可以自由提交一个 PR 来实现更好的实现,但这是我想到的最好的办法。

问:实际上还不错,我们可以用这种方法来处理其他依赖于 node 内置模块的 npm 模块吗?

答:谢谢。这是一个很好的观点。这应该适用于更通用的用途,因此请期待我发布一个通用的插件,这个插件将依赖于这个插件。

安装

从命令提示符转到您的应用程序根文件夹并执行

tns plugin add nativescript-aws

确保您使用 TypeScript(如我们的演示应用程序所做的那样),因为这个插件公开了 AWS SDK 的 TypeScript 定义,这样您就可以更轻松地与亚马逊的服务进行交互。

演示应用程序

真的,请查看 演示!它展示了如何与 S3 和 Dynamo 进行交互,但您应该能够与所有其他 AWS 服务进行交互。

从项目的根目录运行演示应用程序:npm run demo.iosnpm run demo.android

iOS & Android 截图

API

100% 相同于 aws-sdk 模块。查看他们的文档,并使用 TypeScript 使您的生活更轻松。

免责声明

我已经尝试解决 AWS 和 NativeScript 之间的所有兼容性问题,但您可能使用某些服务会在运行时抛出错误,因为它 require-ing 一些不受支持的节点模块。在这种情况下,请 提出问题,我会查看的!