Blockchain

在區塊鏈中導入 Libp2p 包時出錯

  • December 4, 2019

我在我的 Ethereum Blockchain-ipfs 項目上安裝了一些 js-libp2p 的包,我寫了一些如下程式碼。

const TCP = require('libp2p-tcp');
const MulticastDNS = require('libp2p-mdns');
const WS = require('libp2p-websockets');
const KadDHT = require('libp2p-kad-dht')
const mplex = require('libp2p-mplex');
const secio = require('libp2p-secio');
const libp2p = require('libp2p');

但是 multicast-dns 、libp2p 和 libp2p-kad-dht 模組顯示一些錯誤。

./~/libp2p/src/index.js 中的錯誤

模組解析失敗:/home/toshiba/Documents/sul/ipfs/CannesNew Full Codejan17/SportsFull CodeTESTRpc12may/SportsFull Code1april/node_modules/libp2p/src/index.js 意外令牌 (120:8)

您可能需要適當的載入程序來處理此文件類型。

| this._dht = new DHT(this._switch, { | datastore: this.datastore, | …this._config.dht | }) | }

@ ./app/backend/app.js 62:15-32

@multi (webpack)-dev-server/client? http://localhost:8080 ./app/backend/app.js

環境

Npm 版本:6.4.1

節點版本:8.12.0

作業系統:Ubuntu 18.04

任何人都請幫我解決這個問題。

我已經在我的 meanstack 應用程序中使用普通節點和 npm 導入了這個 js-libp2p 包,它執行良好。但是當我在區塊鏈應用程序中導入這個包時,它顯示了上述錯誤。

我目前的 webpack 版本是 2.2.1

我的webpack.config.js程式碼如下所示,

...
module: {
rules: [
{
test: /\.css$/,
use: [ 'style-loader', 'css-loader' ]
}
],
loaders: [
{ test: /\.json$/, use: 'json-loader' },
{
test: /\.js$/,
exclude: /(node_modules|bower_components)/,
loader: 'babel-loader',
query: {
presets: ['es2015'],
plugins: ['transform-runtime']
}
}
]
},
...

你可以嘗試這樣的事情:

exclude: {
 test: /(node_modules|bower_components)/,
 not: [
   // Do not exclude this dependency
   /libp2p/
 ]
}

引用自:https://ethereum.stackexchange.com/questions/72151