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

时间:2017-01-30 20:10:28

标签: aurelia aurelia-cli

在我的ESNext aurelia-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时,我得到“Buffer is not defined”。 我尝试过几种不同的方式导入缓冲区,但没有任何方法可以定义全局的Buffer对象,例如

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

使用aurelia-cli包含缓冲区的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

base-x包正在寻找全局缓冲区,所以给它一个:

$grate_point=$this->db->get_where('grade',array('class_id'=>$class_id,'subject_id'=>$row2['subject_id'],'mark_from <='=>$obtained_marks,'mark_upto >='=>$obtained_mark_query))->row();