.\node_modules\instagram-private-api\dist\repositories\request.js:在项目中找不到加密

Posted

技术标签:

【中文标题】.\\node_modules\\instagram-private-api\\dist\\repositories\\request.js:在项目中找不到加密【英文标题】:.\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 包含在我的项目中。我得到标题的错误。当我查看上述加密包时,我发现所说的“加密”应该是一个内置的节点模块。但是,我没有从我的项目节点模块中找到所述模块。我的节点模块中唯一的“加密”模块是加密随机字符串。

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

【问题讨论】:

【参考方案1】:

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

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

    在 package.json 中,尝试添加:
"devDependencies": 
    ...
,
"browser": 
    "crypto": false

    在 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 应用。

【讨论】:

以上是关于.\node_modules\instagram-private-api\dist\repositories\request.js:在项目中找不到加密的主要内容,如果未能解决你的问题,请参考以下文章