【发布时间】:2017-01-31 17:58:31
【问题描述】:
在我的 ESNext aurelia-cli 项目中,我正在尝试使用一个名为 bs58 的 npm 模块。 bs58 使用节点缓冲区,因此我在浏览器中包含了 npm 缓冲区模块以支持缓冲区。 buffer 依赖于其他几个模块,我也包括在内。
在 aurelia.json 中,我绘制了包和依赖项:
...
{
"name": "base64-js",
"path": "../node_modules/base64-js",
"main": "index"
},
{
"name": "ieee754",
"path": "../node_modules/ieee754",
"main": "index"
},
{
"name": "buffer",
"path": "../node_modules/buffer",
"main": "index",
"deps": [
"base64-js",
"ieee754"
]
},
{
"name": "base-x",
"path": "../node_modules/base-x",
"main": "index"
},
{
"name": "bs58",
"path": "../node_modules/bs58",
"main": "index",
"deps": [
"base-x"
]
}
...
然后在我的代码中:
import bs58 from 'bs58';
...
bs58.decode(...);
当我调用 bs58.decode 时,我得到“未定义缓冲区”。 我尝试了几种不同的方式导入缓冲区,但没有任何原因导致它定义全局 Buffer 对象,例如
import 'buffer';
import Buffer from 'buffer';
import { Buffer} from 'buffer';
require('buffer');
在 aurelia-cli 中包含缓冲区的正确方法是什么?
【问题讨论】:
-
在黑暗中射击...尝试将
"buffer"添加到您的部门列表中以获取bs58,因为似乎bs58依赖于buffer。另外,您能否检查一下您的"main"是否实际上是文件夹../node_modules/buffer中的index.js?它并不总是索引。确保main指向您要导入的主要 JavaScript 文件。
标签: aurelia