如何将Node.js代码转换为普通的浏览器JavaScript?

17

我不知道如何使一个以node.js编写的JavaScript文件在Web浏览器中运行。

涉及到的代码来自Github上的graphenejs-lib。我想将这个node.js代码转换为js:

import {Apis} from "graphenejs-ws";
var {ChainStore} = require("graphenejs-lib");
Apis.instance("wss://bitshares.openledger.info/ws", true).init_promise.then((res) => {
    console.log("connected to:", res[0].network);
    ChainStore.init().then(() => {
        ChainStore.subscribe(updateState);
    });
});
let dynamicGlobal = null;
function updateState(object) {
    dynamicGlobal = ChainStore.getObject("2.1.0");
    console.log("ChainStore object update\n", dynamicGlobal ? dynamicGlobal.toJS() : dynamicGlobal);
}

同一位开发者还有另一个GitHub,steemjs-lib,README默认页面展示了它在node.js和浏览器上的使用方法。

我不知道如何将graphenejs-lib转换为浏览器JavaScript,就像steemjs-lib已经被制作成常规JavaScript工作版本。我联系了开发者,但尚未收到回复。

我想其他人可能知道如何做开发者为steemjs-lib所做的事情,并让graphenejs-lib在浏览器中运行。

你能帮我吗?谢谢。


我创建了一个 jsfiddle,当我添加文件 https://wzrd.in/standalone/graphenejs-ws@latest 和代码 var {Apis} = graphenejsWs; 时,会为 Api 生成错误,这似乎不是正确的调用:Uncaught (in promise) Error: Api not found。jsfiddle.net/rhwmgLta - KrNel
2个回答

8

您可以使用Browserify帮助您实现这一点:

请注意,并非所有Node的API都可在浏览器上使用。


6
使用Browserify。如果你只想使用一个库,https://wzrd.in/会将它打包给你。如果要使用最新版本的Graphenejs-lib,则可以使用https://wzrd.in/standalone/graphenejs-lib@latest
<script src="https://wzrd.in/standalone/graphenejs-lib@latest"></script>
<script>
  const {ChainStore} = graphenejsLib;
  ...
</script>

谢谢。那么 import {Apis} from "graphenejs-ws"; 怎么样? - KrNel
我创建了一个 jsfiddle,当我添加文件 https://wzrd.in/standalone/graphenejs-ws@latest 和代码 var {Apis} = graphenejsWs; 时,会为 Api 生成一个错误,这似乎不是正确的调用方式:Uncaught (in promise) Error: Api not found。 https://jsfiddle.net/rhwmgLta/ - KrNel
您可能希望使用 https://github.com/svk31/steemjs-lib/tree/master/build 中已构建的版本。尝试在 JSFiddle 中使用 https://rawgit.com/svk31/steemjs-lib/master/build/steemjs-lib.js。 - Trevor Dixon
所涉及的代码来自于Github上的graphenejs-lib。我想将这个node.js代码转换成JS,而不是steemjs。OP还展示了相关的代码,它是以node.js格式呈现的,我需要将其转换为常规JS。这是graphenejs-lib.js文件的链接:https://github.com/svk31/graphenejs-lib/tree/master/build - KrNel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接