【问题标题】:.\node_modules\instagram-private-api\dist\repositories\request.js: crypto could not be found within the project.\node_modules\instagram-private-api\dist\repositories\request.js:在项目中找不到加密
【发布时间】:2021-05-31 20:34:31
【问题描述】:

我正在尝试使用 Expo cli 为 Android 的 Instagram 订阅计划器应用程序学习使用 react native 的跨平台开发。

但是,我很难将 Instagram 私有 API 包含在我的项目中。我得到标题的错误。当我查看上述加密包时,我发现所说的“加密”应该是一个内置的节点模块。但是,我没有从我的项目节点模块中找到所述模块。我的节点模块中唯一的“加密”模块是加密随机字符串。

我可能缺少一些可以帮助我解决此问题的基本知识,但如果您知道如何完成这项工作,我将不胜感激。

【问题讨论】:

    标签: node.js reactjs react-native node-modules


    【解决方案1】:

    是的,“crypto”是 Node 内置包的一部分。但是,在这里您正在处理一个 Web 应用程序,不是吗?因此,这在此环境中不可用。

    恐怕您需要使用其他加密包。但是,在希望获得该解决方案之前,您应该尝试以下方法:

    1. 在 package.json 中,尝试添加:
    "devDependencies": {
        ...
    },
    "browser": {
        "crypto": false
    }
    
    1. 在 tsconfig.ts 文件中:
    "compilerOptions": {
    "baseUrl": "./",
    "paths": {
      "crypto": [
        "../../node_modules/crypto-js"
      ]
    }
    

    您可以查看here了解更多详情。

    【讨论】:

    • 不,我正在使用 Android 和 Expo cli。应该在我的帖子中包含它!
    • 以上选项你试过了吗?因为如果它们不起作用,恐怕您可能需要使用 Android 中现成的其他模块。
    • 我尝试了这些选项。要么没有工作。我会考虑其他选项
    • @Adventune- 我认为,你应该通过这个链接 npmjs.com/package/react-native-crypto,它说他们正在利用 node.js 加密模块在 React-native 中工作,这可能会有所帮助!
    【解决方案2】:

    crypto 是 NodeJS 的内置模块。它不适用于 React 应用。

    【讨论】:

      猜你喜欢
      • 2022-06-16
      • 2020-03-24
      • 2020-02-18
      • 1970-01-01
      • 2021-12-31
      • 2012-10-13
      • 2022-07-20
      • 2018-08-20
      • 1970-01-01
      相关资源
      最近更新 更多