getting SyntaxError: Unexpected token '?' when using 'express-rate-limit'
getting SyntaxError: Unexpected token '?' when using 'express-rate-limit'
我正在尝试使用 'express-rate-limit' 并且出于某种原因,当 运行 服务器出现语法错误时:意外的令牌 '?'尽管我很确定我的脚本没有任何语法错误。
这是代码:
rateLimiter.js
const rateLimit = require('express-rate-limit');
const rateLimiter = (limit, timeframeInMinutes) => {
return rateLimit({
max: limit,
windowMs: timeframeInMinutes * 60 * 1000,
message: {
error: {
status: 429,
message: 'TOO_MANY_REQUESTS',
expiry: timeframeInMinutes,
},
},
});
};
module.exports = rateLimiter;
auth.js
const express = require('express');
const authController = require('../controllers/auth');
const rateLimiter = require('../helpers/rateLimiter');
// Router initialisation
const router = express.Router();
// Routes
router.get('/test', rateLimiter(1, 10), authController.test);
module.exports = router;
错误截图如下:
您正在尝试在不受支持的 Node.js 版本上使用无效合并 (??
)。 Node v14 及更高版本支持空合并。
目前,简单的替代方案是 ||
,除非您升级版本。
您没有指明您使用的节点版本。直到版本 14 才添加 nullish 合并运算符。
This package requires you to use Node 14 or above.
??
运算符抛出错误表明您使用的是旧版本。
我正在尝试使用 'express-rate-limit' 并且出于某种原因,当 运行 服务器出现语法错误时:意外的令牌 '?'尽管我很确定我的脚本没有任何语法错误。
这是代码:
rateLimiter.js
const rateLimit = require('express-rate-limit');
const rateLimiter = (limit, timeframeInMinutes) => {
return rateLimit({
max: limit,
windowMs: timeframeInMinutes * 60 * 1000,
message: {
error: {
status: 429,
message: 'TOO_MANY_REQUESTS',
expiry: timeframeInMinutes,
},
},
});
};
module.exports = rateLimiter;
auth.js
const express = require('express');
const authController = require('../controllers/auth');
const rateLimiter = require('../helpers/rateLimiter');
// Router initialisation
const router = express.Router();
// Routes
router.get('/test', rateLimiter(1, 10), authController.test);
module.exports = router;
错误截图如下:
您正在尝试在不受支持的 Node.js 版本上使用无效合并 (??
)。 Node v14 及更高版本支持空合并。
目前,简单的替代方案是 ||
,除非您升级版本。
您没有指明您使用的节点版本。直到版本 14 才添加 nullish 合并运算符。
This package requires you to use Node 14 or above.
??
运算符抛出错误表明您使用的是旧版本。