我能够从本地成功将文件上传到IPFS服务器。当我尝试将相同的代码发布到Azure(Node.js空应用程序)时,它抛出了如下所述的错误
SyntaxError: Unexpected token {
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:373:25)
at Object.Module._extensions..js (module.js:416:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Module.require (module.js:353:17)
at require (internal/module.js:12:17)
at Object.<anonymous> (D:\home\site\wwwroot\node_modules\multiaddr\src\index.js:9:16)
at Module._compile (module.js:409:26)
at Object.Module._extensions..js (module.js:416:10)
代码:
var node= require('ipfs-api')(options)
node.files.add(filesStreamm, function (err, files) {
if (err || !files) {
return console.error('ipfs add error', err, res1)
}
// console.log(files);
files.forEach((file) => {
if (file && file.hash) {
console.log('successfully stored', file.hash)
}
})
})
有人遇到这个问题吗?有什么建议吗?
答案 0 :(得分:0)
如果节点版本不正确,则会出现相同的错误。在门户网站的“应用程序设置”中检查WEBSITE_NODE_DEFAULT_VERSION
。
ipfs-api需要Node.js v6 (LTS) or higher。
节点版本应在Azure上可用。
例如,您可以使用8.11.1
。转到https://<webappname>.scm.azurewebsites.net/api/diagnostics/runtime
查看所有可用版本。