【发布时间】:2020-08-02 17:11:28
【问题描述】:
我一直在 Nodejs 的类中使用胖箭头函数,但出现以下错误,在我的 PC 上运行良好。
static post = async (req, res, next) => {
^
SyntaxError: Unexpected token =
at Module._compile (internal/modules/cjs/loader.js:723:23)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:789: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 Module.require (internal/modules/cjs/loader.js:692:17)
at require (internal/modules/cjs/helpers.js:25:18)
at Object.<anonymous> (/home/selacomn/repositories/ecommerce-backend/src/mobile/routes/order.js:2:25)
at Module._compile (internal/modules/cjs/loader.js:778:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
我在部署中使用的环境是:
node --version >> v10.22.0
npm --version >> 6.14.6
这段代码在我的系统上运行良好,我的系统环境是:
node --version >> v12.18.3
npm --version >> 6.14.6
我认为版本控制不是问题,因为我以前遇到过这个问题,但我忘记了我是怎么做到的。而且,我无法对这种开发进行试验,因为问题出在服务器内部。那么,你们有什么可以帮忙的吗?
出现问题的代码如下:
class OrderController {
static post = async (req, res, next) => {
Order.create()
};
static getOne = async (req, res, next) => {
Order.getOne(id)
};
static getAll = async (req, res, next) => {
Order.getAll()
};
}
【问题讨论】:
-
Static class fields 仍然是一个实验性提案,它们不是 ES6 的一部分,也没有在 node v10 中实现。
标签: node.js express ecmascript-6