用于node.jscrypto-js的webpack5angularpolyfill

我有关于 webpack 5 配置的基本问题,因为我对它的经验为零。我想创建最简单的 Angular 应用程序,它使用node.js模块crypto-jsSHA256

在 webpack 5 之前,它非常简单。你不必担心 webpack,它在后面的某个地方。

在命令提示符下,我做了:ng new TestApp -> cd TestApp -> npm install crypto-js -> npm install --save @types/crypto-js -> 用导入的 SHA256 编写简单的测试代码 -> 构建它 -> 它工作!

现在我收到消息:

突破性变化:webpack < 5 用于默认包含 node.js 核心模块的 polyfill。不再是这种情况。验证您是否需要此模块并为其配置 polyfill。

如果你想包含一个 polyfill,你需要: - 添加一个后备 'resolve.fallback: { "crypto": require.resolve("crypto-browserify") }' - 安装 'crypto-browserify' 如果你没有想要包含一个 polyfill,你可以使用一个空的 >module,如下所示:resolve.fallback: { "crypto": false }

我必须安装这个模块并将这个 polyfill 包含在配置文件中。问题是如何编写最简单的 webpack.config.js,除了这些行之外,放在哪里以及在其中包含什么?

BR

回答

升级到 Angular 12 后我遇到了这个问题,所以在搜索后我最终做了以下事情:

tsconfig.json我添加了:

    {
      "compilerOptions": {
        "paths":{
          "crypto":["node_modules/crypto-js"]
        }
     }
    }

angular.json 中,我添加了:

     {
    "architect": {
            "build": {
              "options": {
                "allowedCommonJsDependencies": ["crypto"],
              }
            }
        }
    }

警告消失了。我希望这会帮助你。


以上是用于node.jscrypto-js的webpack5angularpolyfill的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>