Truffle-Contract
已安裝 Truffle-contract,但在 Chrome 控制台中收到錯誤:未擷取錯誤:找不到模組“truffle-contract”
我正在做我的第一個端到端乙太坊項目。我遇到的一個問題是我已經安裝了“truffle-contract”,但是當我執行我的伺服器並在 Chrome 瀏覽器中打開項目時,控制台報告:
Uncaught Error: Cannot find module 'truffle-contract' at s (_prelude.js:1) at s (_prelude.js:1) at splitter.js:1
我的 node_modules 正在顯示“松露契約”。Package.json 也顯示了它:
"dependencies": { "truffle-contract": "^3.0.6" }
在我的應用程序文件夾中,我有一個需要 truffle-contract 的“splitter.js”文件:
var contract = require("truffle-contract"); const splitterJson = require("../build/contracts/Splitter.json"); const Splitter = contract(splitterJson);
它在“truffle-contract”的第一個雙引號下顯示三點,當滑鼠懸停時顯示以下內容:
Could not find a declaration file for module 'truffle-contract'. '/home/richard/workspace/Splitter/node_modules/truffle- contract/index.js' implicitly has an 'any' type. Try `npm install @types/truffle-contract` if it exists or add a new declaration (.d.ts) file containing `declare module 'truffle- contract';`ts(7016) module "/home/richard/workspace/Splitter/node_modules/truffle- contract/index"
使用@types 安裝並沒有什麼不同。指定的路徑是正確的。
我已經刪除了 node_modules 並從新執行了 ’npm init’、’npm install truffle-contract’ 和 ’npm install’,但這並沒有什麼區別。
關於為什麼找不到模組的任何建議?
“require”預設情況下在客戶端不起作用,它只在伺服器端(即NodeJS)可用。需要使用 Webpack 來打包 app 文件夾並使其在伺服器端執行,這將使“require”工作。