Web3js
Meteor中的Web3空對象伺服器端
創建了新的
--bare
Meteor 項目(1.8 版)。用於
meteor npm install --save web3
將 web3 從npmjs.org
.在程式碼
server.js
使用中:Web3 = require('web3') console.log(Web3) // returns '{}'
Meteor 項目中沒有添加任何其他內容。客戶端使用符合預期。
工具包:MacOS、Ganache、Truffle、Web3 版本 1
我當然發現這可能是包依賴項中遞歸的結果
這是一個已知的問題?它是一個錯誤嗎?確定此問題的根本原因的最佳方向是什麼?
相關的 SO 問題/主題:
更新:
在看到許多未解決的問題/問題後,我遇到了一個現有的 github問題進行跟踪。此外還有一個Meteor 論壇文章,我在乙太坊論壇上創建了一個文章
在進一步的測試中,似乎有一個一致的解決方法可以讓
require
Web3 包在 Meteor 的伺服器上工作。新的和現有的 Meteor 項目的測試程序(版本 1.7/1.8):
- 創建一個新的流星項目(可選)或導航到現有項目的目錄。
- 在 Meteor 項目目錄中使用
meteor npm uninstall --save meteor-node-stubs
.- 接下來做:
meteor npm install --save web3
- 現在重新添加
meteor npm install --save meteor-node-stubs
- 按照文件進行正常導入並實例化 web 3 對象
web3 實例現在應該在 Meteor 伺服器上按預期工作,您可以在啟動應用程序後使用
meteor shell
.衝突依賴包的載入順序似乎存在問題,候選違規包為
crypto-browserify
.