0
在我的ESNext aurelia-cli項目中,我試圖使用名爲bs58的npm模塊。 bs58使用Node緩衝區,所以我在瀏覽器中包含了npm緩衝區模塊以支持Buffer。緩衝區取決於其他模塊,我也包括在內。如何使用aurelia-cli打包並導入緩衝區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對象,例如
import 'buffer';
import Buffer from 'buffer';
import { Buffer} from 'buffer';
require('buffer');
什麼是包含aurelia-cli緩衝區的正確方法?
瞎猜...嘗試加入'「緩衝」'你的'bs58 DEPS列表'因爲'bs58'似乎取決於'buffer'。另外,你能否檢查你的''main''是否在'../ node_modules/buffer'文件夾中實際上是'index.js'?這並不總是索引。確保'main'指向您要導入的主JavaScript文件。 – LStarky