不知为何 2.4.3 直接 import { createHash } from “crypto” 是没问题的,换成3.0后死活找不到
提示信息
无法从 pack:///mods/file/xxx/assets/framework/helper/Helper.js 解析出模块 crypto
crypto这个模块是nodejs 内置的了 有人遇到过这个问题吗?
然后我用 crypto-js 把crypto-js.js 导入到工程内 勾选了插件选项,还是提示找不到crypto
看了下代码 crypto-js.js 内部使用了 require(“crypto”) …
这是不是无解?
但是我看了下,crypto-js 里面会尝试加载 crypto 这个内置模块,然后如果没有会 fallback的 。后面应该可以支持下。
嗯 暂时我先跳过这块 希望下个版本支持下吧 这个模块很常用的
可以尝试换个库
有什么推荐的吗 可以替换crypto的
你可以去npm搜索,或者去github搜索,关键词 createHash 之类的。选择一个浏览器适用的
我记得crypto有对应浏览器版本才对
这个库用了 内部也使用了内置的crypto 只要是使用了内置的crypto 都不能用了
什么时候可以支持能使用crypto呢,现在不使用这个crypto,加密方案根本就解决不了了,好不容易使用node-rsa 可以生成密钥对,使用私钥解决服务端公钥加密数据,node-rsa 还支持我从用公钥提取特定格式的modules和expoent传给服务器。2.x一直都能用,3.x直接不能用。
升级到3.x, 凡是用到crypto的库都不能使用了,我的node-rsa也不能用了,官方说放弃支持node就放弃,坑惨了我们啊,能不能做事留一线呢,提供个使用方案不好吗,直接断子绝孙的做法啊
楼上的方案不行吗?表现是什么?
[Preview]Error: Unable to resolve bare specifier ‘constants’ from http://localhost:7456/scripting/x/mods/fs/0/node_modules/node-rsa/src/NodeRSA.js (SystemJS Error#8 https://git.io/JvFET#8)
at throwUnresolved (http://localhost:7456/scripting/systemjs/system.js:696:11)
at SystemJS.systemJSPrototype.resolve (http://localhost:7456/scripting/systemjs/system.js:692:102)
at SystemJS.systemJSPrototype.resolve (http://localhost:7456/scripting/systemjs/system.js:1048:24)
3.5.2 应该已经修复这个错了
好嘞,我升级一下
你好,我使用了crypto-es库 用浏览器打开是正常的 用模拟器打开就会报错
这个是怎么回事呀 版本是3.7.2的 蹲蹲
我原本自己创建了一个这样的文件会有影响嘛