2017-01-30 9 views
0

В моем проекте ESEext aurelia-cli я пытаюсь использовать модуль npm под названием bs58. bs58 использует буферы Node, поэтому я включил буферный модуль npm для поддержки буфера в браузере. буфер зависит от нескольких других модулей, которые я также включил.Как связать и импортировать буферный пакет npm с aurelia-cli?

В 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?

+0

Выстрел в темноте ... попробуйте добавить '«буфер»' в список DEPS для 'bs58 'поскольку кажется, что' bs58' зависит от 'buffer'. Кроме того, вы можете проверить, является ли ваш '' основной '' '' фактически 'index.js' в папке' ../ node_modules/buffer'? Это не всегда индекс. Убедитесь, что 'main' указывает на основной файл JavaScript, который вы хотите импортировать. – LStarky

ответ

1

база-х пакет ищет глобального буфера так дайте ему один:

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


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

 Смежные вопросы

  • Нет связанных вопросов^_^