【问题标题】:Installing JavaScript AWS SDK for NativeScript为 NativeScript 安装 JavaScript AWS 开发工具包
【发布时间】:2016-04-25 07:49:36
【问题描述】:

我正在尝试在 NativeScript 中使用 AWS-SNS。 AWS SDK 可用于 JavaScript。任何人都知道如何安装 AWS SDK for NativeScript。

我尝试在 Node.js 上安装适用于 JavaScript 的 aws-sdk。参考链接是“https://www.npmjs.com/package/aws-sdk”。 但是因为下面的代码

要求(“aws-sdk”)

在 Nativescript 中出现一个错误提示 Failed to find module: "crypto"。在互联网上搜索了一下,我发现 Nativescript 中没有添加加密模块支持。

现在我想知道是否还有其他方法。

提前致谢。

【问题讨论】:

  • 澄清你的问题:你的包裹的链接是什么?你有文档的链接吗?你有错误信息吗?你尝试了什么?
  • 我在发布这个问题之前用我尝试过的方法更新了我的问题。如果可能的话,请帮助我。
  • 所以npm install aws-sdk 在控制台中没有任何错误就结束了?
  • 是安装没有任何错误。

标签: javascript amazon-web-services amazon-sns nativescript


【解决方案1】:

作为NativeScript does not (yet) "polyfill" a crypto module,这可能是一件困难的事情。

Searching the code for references to crypto,你会发现用处不多,用处也没有那么高级。这意味着您应该能够将 Node 模块 crypto 替换为在 NativeScript 环境中工作的 crypto-js

您可能需要派生 AWS 开发工具包代码库,并将对 Node 加密模块的调用替换为对 crypto-js 中相应方法的调用。不幸的是,它们不共享相同的 API。

如果您正在运行 Webpack(或类似的东西),您应该能够创建一个“转换器模块”,它将 Node 加密调用转换为相应的 crypto-js 调用,然后确保调用您的转换器模块而不是通过Webpack alias' 的Node 加密模块。

【讨论】:

  • 感谢您的回复。我理解并尝试了您的建议。我在节点 js 中安装了 webpack。但是如果我使用 require("webpack"); 在我的nativescript 文件,应用程序因为找不到模块:“webpack”而崩溃。
  • Webpack 是 Javascript 的打包器。将其视为构建 Javascript 的工具)——而不是包含在源代码中的模块。
  • 我正在探索你的建议。如果我有办法做到这一点,我会更新。如果可能的话,你能发帖或指出一个例子,这将非常有帮助。谢谢。跨度>
  • 从 fork AWS 开发工具包源代码开始并对其进行编辑,看看您是否可以让它与 NativeScript 一起使用。如果可行,那么请计算一下您是否可以在不破解源代码的情况下替换加密模块。 Webpack Alias 在原始答案的链接中得到了很好的定义。
【解决方案2】:

这是一个老问题,但我最近不得不为未来的 AWS-{N} 集成商解决这个问题:

最简单的解决方案是使用常规 aws-sdk 和 nativescript-nodeify。 aws 和 cognito 的说明在 this page 的底部。它负责使一堆依赖项(即加密、fs)与 NativeScript 兼容

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-08
    • 2019-06-26
    • 2014-12-16
    • 1970-01-01
    • 2013-02-28
    • 2018-07-08
    • 2013-09-29
    相关资源
    最近更新 更多