我正在尝试使用库运行带有示例的节点: http://bitcoinjs.org/
安装后我通过节点repl运行代码(我通过从终端运行'node'来启动repl):
var keyPair = bitcoin.ECPair.makeRandom()
但收到错误:
ReferenceError: bitcoin is not defined
at repl:1:15
at REPLServer.defaultEval (repl.js:262:27)
at bound (domain.js:287:14)
at REPLServer.runBound [as eval] (domain.js:300:12)
at REPLServer.<anonymous> (repl.js:431:12)
at emitOne (events.js:82:20)
at REPLServer.emit (events.js:169:7)
at REPLServer.Interface._onLine (readline.js:211:10)
at REPLServer.Interface._line (readline.js:550:8)
at REPLServer.Interface._ttyWrite (readline.js:827:14)
在运行节点repl之前,我是否需要比特币库?
答案 0 :(得分:2)
是的,在NodeJS中,您需要在使用之前将所有模块导入为变量。在您的实例中,您可以这样做:
var bitcoin = require('bitcoinjs-lib');
...
var keyPair = bitcoin.ECPair.makeRandom()
编辑::快速说明“将所有模块导入为变量”的含义:NodeJS有一个简单的模块加载系统。 'require'语句可以从全局或本地包中导入,也可以从相对路径导入。或多或少它告诉Node运行时查找具有该语句提供的名称的JavaScript文件。在REPL中还要注意的一点是,如果模块没有作为全局模块安装,并且您不在包含'bitcoinjs-lib'包作为依赖项的目录中,那么您将无法满足它。