node.js - Web3 不会在 Azure 上编译
问题描述
重现步骤:
- 在 Visual Studio 2019 社区中,创建一个新的基本 Azure Node.js Express 4 应用程序 (TypeScript)。
- npm 安装 web3
- 在 import path = require('path'); 之后添加第 4 行
var Web3 = 需要('web3');
- 在本地运行它以确保它工作(它确实)
- 将其发布到 Azure 并查看日志
预期结果
它应该可以正常编译和运行——就像它在第 4 步中在本地所做的一样
实际结果(来自 Azure 日志流)
2020 年 4 月 2 日星期四 17:31:57 GMT+0000(协调世界时):应用程序已引发未捕获的异常并终止:D:\home\site\wwwroot\node_modules\web3-core-method\src\index.js :285.then(async function (receipt) {^^^^^SyntaxError: missing ) 在 Module._compile (module.js:542:28) 的参数列表后 Object.exports.runInThisContext (vm.js:76:16)在 Object.Module._extensions..js (module.js:579:10) 在 Module.load (module.js:487:32) 在 tryModuleLoad (module.js:446:12) 在 Function.Module._load (module .js:438:3) 在 Module.require (module.js:497:17) 在 require (internal/module.js:20:19) 在 Object. (D:\home\site\wwwroot\node_modules\web3-core\src\extend.js:27:14)在 Module._compile (module.js:570:32)应用程序抛出了一个未捕获的异常并被终止:D :\home\site\wwwroot\node_modules\web3-core-method\src\index.js:285。然后(异步函数(收据){^^^^^SyntaxError: missing)在 Object.exports.runInThisContext (vm.js:76:16)at Module._compile (module.js:542:28)at Object. Module._extensions..js (module.js:579:10) at Module.load (module.js:487:32) at tryModuleLoad (module.js:446:12) at Function.Module._load (module.js: 438:3) 在 Module.require (module.js:497:17) 在 require (internal/module.js:20:19) 在 Object. (D:\home\site\wwwroot\node_modules\web3-core\src\extend.js:27:14) 在 Module._compile (module.js:570:32) 17)在要求(内部/module.js:20:19)在对象。(D:\home\site\wwwroot\node_modules\web3-core\src\extend.js:27:14) 在 Module._compile (module.js:570:32) 17)在要求(内部/module.js:20:19)在对象。(D:\home\site\wwwroot\node_modules\web3-core\src\extend.js:27:14) 在 Module._compile (module.js:570:32)
我查看了 \node_modules\web3-core-method\src\index.js 中的第 285 行,它看起来不错。
我删除了我的 package-lock.json 和我的 node_modules 目录并再次安装了 npm(更不用说我在原始项目和小型测试项目中都这样做了)。
我在这里不知所措。有什么建议么?
解决方案
web3
我在桌面上运行最新版本的(1.2.6)时遇到了同样的问题,这个错误在导入时显示web3
。
const Web3 = require('web3');
有趣的是,如果我在节点交互式控制台中编写同一行并且对象正常工作,则没有问题Web3
。
我将web3
版本更改为1.0.0-beta.55
,它工作正常。我希望这是在最新版本中修复的错误。
PS:在尝试更改web3
版本之前,我尝试将节点从8.9.4
to更新,13.12.0
但错误仍然存在。