我有关于webpack 5配置的基本问题,因为我对它没有任何经验。我想要创建最简单的角度应用程序,使用node.js模块,密码-js和SHA256。
在webpack 5岁之前,这是相当简单的。你不必担心webpack,它就在后面。
在命令提示符下,我做了: ng新的TestApp -> cd TestApp -> npm安装密码-js -> npm安装--保存@type/crypto ->用导入的SHA256 ->编写简单的测试代码,构建它,并且->它工作!
现在我收到消息:
破坏变化: webpack <5用于默认情况下包含node.js核心模块的填充。现在的情况不再是这样了.验证是否需要此模块,并为其配置一个多填充。如果您想要包含一个多填充,您需要:-添加一个回退'resolve.fallback:{ "crypto":require.resolve("crypto-browserify") }‘-如果您不想包含一个多填充,可以使用一个空>模块: resolve.fallback:{ "crypto":false }
我必须安装这个模块,并包括这个多填充内部配置文件。问题是如何编写最简单的webpack.config.js,把它放在哪里,除了这些行之外,还应该包括哪些内容?
BR
发布于 2021-06-02 15:38:25
在升级到角12之后,我遇到了这个问题,所以在搜索之后,我完成了以下操作:
在tsconfig.json中,我添加了:
{
"compilerOptions": {
"paths":{
"crypto":["node_modules/crypto-js"]
}
}
}在angular.json中,我添加了以下内容:
{
"architect": {
"build": {
"options": {
"allowedCommonJsDependencies": ["crypto"], // note that this is the key of --> "crypto":["node_modules/crypto-js"]"
}
}
}
}警告也就消失了。希望这能帮到你。
发布于 2021-06-19 08:56:15
我也有同样的问题,这是我在git集线器上找到的解决方案。https://github.com/ChainSafe/web3.js/issues/4070
在项目目录中运行:
npm install crypto-browserify stream-browserify assert stream-http https-browserify os-browserifytsconfig.json将其添加到:“compilerOptions”:{.}
"paths" : {
"crypto": ["./node_modules/crypto-browserify"],
"stream": ["./node_modules/stream-browserify"],
"assert": ["./node_modules/assert"],
"http": ["./node_modules/stream-http"],
"https": ["./node_modules/https-browserify"],
"os": ["./node_modules/os-browserify"],
}发布于 2021-05-27 06:20:38
遗憾的是,webpack的配置隐藏在角度上,只允许您访问AngularCli公开的一些选项。
但是,您可以使用工作非常好的包@角-建筑商/自定义-webpack。它很容易使用,你可以替代webpack的一些选项,而不打破所有的配置提供的角度。
因此,在您的例子中,您可以添加一个隐褐化作为"crypto“的后盾。在这种情况下,webpack额外的配置文件如下所示:
{解析:{回退:{ crypto:“./node_node/crypto-browserify”}}
https://stackoverflow.com/questions/67572355
复制相似问题