我面临着一个前所未有的问题。我正在开发一个由微软机器人框架()提供动力的聊天机器人,所以几周前我已经上传了我的项目到天蓝色,一切都很好。
今天,我上传了我的项目的新更新,这个版本在我的电脑上完美地工作。但是当我上传到Azure时,日志会抛给我这个错误
SyntaxError: Unexpected token =
at new Script (vm.js:79:7)
at createScript (vm.js:251:10)
at Object.runInThisContext (vm.js:303:10)
at Module._compile (internal/modules/cjs/loader.js:656:28)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:699:10)
at Module.load (internal/modules/cjs/loader.js:598:32)
at tryModuleLoad (internal/modules/cjs/loader.js:537:12)
at Function.Module._load (internal/modules/cjs/loader.js:529:3)
at Module.require (internal/modules/cjs/loader.js:636:17)
at require (internal/modules/cjs/helpers.js:20:18)
Wed Oct 16 2019 08:25:08 GMT+0000 (Greenwich Mean Time): Application has thrown an uncaught exception and is terminated:此错误由“userCourses = {}”行抛出:
class UserProfil {
userCourses = {}
constructor(login, firstname, lastname, lastaccess) {
this.login = login;
this.firstname = firstname;
this.lastname = lastname;
this.lastaccess = lastaccess;
}
}
module.exports.UserProfil = UserProfil但是它似乎会把错误抛到像"= ( {“)这样的每个字符,所以这不是这一行的特殊性……这个项目完全是在我的个人电脑上工作,一天前在AZure上工作,所以我真的不知道什么能使这个大问题
有人已经面对过这一切了?
谢谢!:-)
编辑:搜索后,我发现我的计算机运行Nodejs版本12,这个声明在Nodejs 12中是新的,Azure可能运行最后一个LTS版本(10) --这就是为什么它不工作的原因。我已经在我的计算机上安装了LTS版本,所抛出的错误与Azure :-)相同
发布于 2019-10-16 16:46:47
在vanilla JavaScript中,您不能定义这样的类属性。你得做些更像:
class UserProfil {
constructor(login, firstname, lastname, lastaccess) {
this.login = login;
this.firstname = firstname;
this.lastname = lastname;
this.lastaccess = lastaccess;
this.userCourses = {};
}
}
module.exports.UserProfil = UserProfil我不知道为什么这会在本地运行,除非有某种编译是在本地完成的,而Azure没有这样做。但这绝对不是有效的JavaScript,不应该在任何地方工作。
https://stackoverflow.com/questions/58413149
复制相似问题