原生 node.js 和浏览器加密的同构代码

问题描述

isomorphic-webcrypto 假装这样做但没有:它为每个目标构建单独的构建。

noble-crypto 方法可以做到,但它基于 if-else 条件,如果我想要同构的 mjs 代码则失败。

最后,有 eval require way 方式传递 bundler,但是 node 无法在 mjs 中使用它。

简而言之:

const crypto = require("crypto"); // work only in node.js but not in mjs file.
const crypto = eval(`require("crypto")`); // pass-thru bundler,then work only in node.js but not in mjs file.
window.crypto; // work only in browser
import * as crypto from "crypto"; // Could work from both but must be at top level of a module,so it can't be a conditional import.

我想在 node.js 和浏览器中以同构的方式使用原生加密,以便能够在 node 和浏览器中透明地使用原生导入 mjs。

我该怎么做?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...