我正试图用javascript为一些比特币框架编写后端。我对这门语言相当陌生。但我用它做了几个项目。
我在看https://coinb.in/自动取款机。如果您查看源@索引文件,它们包括如下脚本:
<script type="text/javascript" src="js/qrcode.js"></script>
<script type="text/javascript" src="js/qcode-decoder.min.js"></script>
<script type="text/javascript" src="js/jsbn.js"></script>
<script type="text/javascript" src="js/ellipticcurve.js"></script>椭圆曲线是一个匿名函数,它将其所有方法附加到浏览器中的窗口对象。我的项目是电子JS,所以我用global.EllipticCurve进行了模拟。然而,这并不重要。重要的是,例如,jsbn.js不是一个匿名函数,它太大,无法重构。来自jsbn.js的函数在ellipticcurve.js中是可见的,因为它是在它之前导入的。我想知道如何在电子JS中实现这个效果,我不能只做require('./jsbn.js'),因为这会给我不确定的结果。有办法module.exports所有的东西吗?(包括jsbn.js在ellipticcurve.js中的所有内容也可以工作,这就是我如何使它工作,但这使得代码非常混乱)
发布于 2018-04-30 21:43:45
通过检查jsbn最古老的版本,找到了一种方法来做到这一点。整个代码以匿名函数包装,结尾如下:
if (typeof exports !== 'undefined') {
exports = module.exports = BigInteger;
} else {
this.BigInteger = BigInteger;
}
}).call(this);不过,我不理解typeof exports !== 'undefined'。
https://stackoverflow.com/questions/50107098
复制相似问题