我已经为此苦苦挣扎了 2-3 天。这是一个有效的解决方案。请按照以下步骤操作。
1.将以下内容复制粘贴到您的 package.json 中
{
"name": "projectname",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "mocha",
"dev": "next dev"
},
"author": "",
"license": "ISC",
"dependencies": {
"@truffle/hdwallet-provider": "^2.0.1",
"fs-extra": "^10.0.0",
"ganache-cli": "^6.12.2",
"mocha": "^9.1.4",
"next": "^12.0.8",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"solc": "^0.8.9",
"web3": "^1.7.0",
"@babel/plugin-syntax-top-level-await": "^7.14.5"
},
"devDependencies": {
"@babel/plugin-syntax-top-level-await": "^7.14.5"
}
}
2。删除您的 node_modules 文件夹
3.转到项目的根目录并使用npm install 命令重新安装所有包
4.在项目的根目录中创建一个新文件并将其命名为"next.config.js"
5.将以下代码复制粘贴到next.config.js 文件中并保存。
module.exports = {
// target: 'experimental-serverless-trace',
webpack: (config) => {
config.experiments = config.experiments || {};
config.experiments.topLevelAwait = true;
return config;
},
};