这里持续的记录一些在较低版本的node环境或者浏览器下,ES6新特性的兼容问题。处理也很简单,用webpack编译一下,或者升级运行环境。
1,类实例属性的新写法
class Logger {
// 类实例属性的新写法 在我的机器node v10.16.0下会报错,高版本node v14不会报错
level = "debug";
// 类实例属性的新写法 在我的机器node v10.16.0下会报错,高版本node v14不会报错
outoutPath = "../logs";
constructor(runEnv) {
this.runEnv = runEnv; // 不会报错
}
printName(name = 'there') {
this.print(`Hello ${name}`);
}
print(text) {
console.log(text);
}
}
在node v10.16下运行,直接报错:
SyntaxError: Unexpected token =
at Module._compile (internal/modules/cjs/loader.js:721:23)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:787:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:829:12)
at startup (internal/bootstrap/node.js:283:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)