找不到模块:错误:无法解析“加密”

Posted

技术标签:

【中文标题】找不到模块:错误:无法解析“加密”【英文标题】:Module not found: Error: Can't resolve 'crypto' in 【发布时间】:2021-09-17 03:35:57 【问题描述】:

错误信息:

重大变化:webpack

所以我在谷歌上搜索了这个问题,并在寻找解决方案时遇到了很多问题。所以我想和你分享:

    首先,这不仅会发生在加密货币中,还可能发生在 http、https、os 等其他东西上。

    检查数据包(本例crypto-browserify安装)应该有一个文件夹node_modules\crypto-browserify

如果不存在:npm install crypto browsrify,然后是yarn add @types/node@15.12.5 -D(对于这个节点版本)

在 node_modules\crypto-browserify 中编辑 package.json 并添加

 , 
 "optionalDependencies": ,
 "browser": 
   "crypto": false
 ,

(在 devDependencies 之后)

    在tsconfig.json下添加
"compilerOptions": 
"paths":
   "crypto":["node_modules/crypto-browserify"],
   "http":["node_modules/stream-http"],
   "https":["node_modules/https-browserify"]
   ,
    在angluar.json下添加
"architect": 
   "build": 
   "builder": "@angular-devkit/build-angular:browser",
   "options": 
      "allowedCommonJsDependencies": ["crypto"],
      "allowedCommonJsDependencies": ["http"],
      "allowedCommonJsDependencies": ["https"],

【问题讨论】:

顺便说一句,有人可以告诉我如何分享完整的代码块。 *** 告诉我每行都使用“`”.. 阅读:How to Ask 使用三个反引号开始一个代码块,然后再次关闭它。我还在开头的三个反引号后面加上json 以获得正确的语法突出显示。 这会更好地重新排列为自我回答:只给出问题中的错误消息,然后所有配置更改作为答案。 ***.com/a/67076572/841830 是更简单的解决方案吗?还是解决不同的问题? 【参考方案1】:

我在 ReactJS 中使用 create-react-app(facebook) 遇到了这个问题

解决方案:

    首先安装必要的包“crypto-browserify”

    用 create-react-app 修改 reactjs 中的 webpack.config.js 这个文件在里面:

node_modules/react-scripts/config/webpack.config.js

搜索module.exports,在这个函数里面有一个返回:
module.exports = function (webpackEnv) 
  ...
  return 
   ...
    resolve: 
      ...
      fallback: 
        // Here paste
        crypto: require.resolve("crypto-browserify"),

      
    
  

注意:可能需要更多包,例如“stream-browserify”步骤相同。此解决方案有效,但是当 webpack 项目启动时,它会显示警告

Pd:我的母语不是英语,但我希望能理解我。

【讨论】:

以上是关于找不到模块:错误:无法解析“加密”的主要内容,如果未能解决你的问题,请参考以下文章

找不到模块:错误:无法解析模块“fs”

找不到模块:错误:无法解析模块“路由”

VueJS - 找不到模块:错误:无法解析'@babel/runtime/regenerator'

在 src/app 外部定义的模块显示错误“找不到模块:错误:无法解析 './' in”

找不到模块:错误:无法解析“croppie”

找不到模块:错误:无法解析“vue”