0

我正在尝试将node-jose库与 angular7 一起用于 JWE。该库使用zlib作为依赖项,并且在编译时会引发错误:

ERROR in ./node_modules/zlib/lib/zlib.js
Module not found: Error: Can't resolve './zlib_bindings' in '~\WebApp\node_modules\zlib\lib'

我打开了“zlib.js”文件,内容如下:

module.exports = require('./zlib_bindings');

问题是所需的文件不存在。我检查了库的其余部分,整个库中没有这样的文件。

我搜索了整个互联网,没有人描述过和我一样的问题。有一些关于“node-jose”库的讨论,但这些问题都与“zlib”无关。

如果只有有人会说他们有同样的错误,我将非常感激。提前致谢!

4

2 回答 2

1

我找到了答案。

Angular 在编译时没有显示错误,但在浏览器中显示错误。这是因为浏览器没有集成“node”库,所以它无法启动“zlib”库。在“node_modules”中安装“zlib”库并没有帮助,因为它已被弃用。

使用 'browserify-zlib' 库并更改我所有依赖项中的 ...require('browserify-zlib') 已经解决了这个问题。

于 2019-04-04T10:10:32.113 回答
0

此 PR 将解决 node-jose 中的问题

https://github.com/cisco/node-jose/pull/264

这以node-jose-browserify 的形式发布到 npm ,https: //www.npmjs.com/package/node-jose-browserify

npm i node-jose-browserify
于 2019-08-30T06:21:30.937 回答