我正在嘗試使用“express-rate-limit”,并且由于某種原因在運行服務器時出現 SyntaxError: Unexpected token '?' 即使我很確定我的腳本沒有任何語法錯誤。
這是解碼代碼:
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;
這是錯誤的螢屏截圖:

uj5u.com熱心網友回復:
您正在嘗試在不受支持??的 Node.js 版本上使用無效合并 ( )。Node v14 及更高版本支持空值合并。
目前,簡單的替代方案是||,除非您升級您的版本。
uj5u.com熱心網友回復:
從檔案中:
此軟體包要求您使用 Node 14 或更高版本。
??引發錯誤的操作員表明您使用的是舊版本。
uj5u.com熱心網友回復:
您沒有指明您使用的是什么版本的節點。直到版本 14 才添加空值合并運算子。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/406237.html
標籤:
