如何使用aurelia cli捆绑和导入缓冲区npm包?

如何使用aurelia cli捆绑和导入缓冲区npm包?,aurelia,Aurelia,在我的下一个Esaurelia cli项目中,我尝试使用名为bs58的npm模块。bs58使用节点缓冲区,因此我在浏览器中包含了用于缓冲区支持的npm缓冲区模块。缓冲区依赖于其他几个模块,我也包括了这些模块 在aurelia.json中,我列出了包和依赖项: ... { "name": "base64-js", "path": "../node_modules/base64-js", "main": "index"

在我的下一个Esaurelia cli项目中,我尝试使用名为bs58的npm模块。bs58使用节点缓冲区,因此我在浏览器中包含了用于缓冲区支持的npm缓冲区模块。缓冲区依赖于其他几个模块,我也包括了这些模块

在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时,我得到“缓冲区未定义”。 我尝试了几种不同的导入缓冲区的方法,但没有任何东西导致它定义全局缓冲区对象,例如

import 'buffer';
import Buffer from 'buffer';
import { Buffer} from 'buffer';
require('buffer');

在aurelia cli中包含缓冲区的正确方法是什么?

base-x软件包正在寻找全局缓冲区,因此请为其提供一个:

// aurelia.json
{
    "ieee754",
    "base64-js",
    "buffer",
    "base-x",
    "bs58"
}


// some js file
import { Buffer } from 'buffer';
window.Buffer = Buffer;
import bs58 from 'bs58';

在黑暗中拍摄。。。尝试将
“buffer”
添加到
bs58
的Dep列表中,因为
bs58
似乎依赖于
buffer
。另外,您能否检查您的
“main”
是否实际上是
文件夹
。/node\u modules/buffer
中的
index.js
?它并不总是索引。确保
main
指向要导入的主JavaScript文件。