我想用POST方法实现一个API,但是当我启动我的服务器时出现错误:
3450:~/Desktop/koa/ctx$ node koa2.js
/home/358/Desktop/koa/ctx/koa2.js:9
router.post('/locations', async (ctx, next) =>{
^
SyntaxError: Unexpected token (
at Object.exports.runInThisContext (vm.js:76:16)
at Module._compile (module.js:542:28)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.runMain (module.js:604:10)
at run (bootstrap_node.js:394:7)
at startup (bootstrap_node.js:149:9)
at bootstrap_node.js:509:3
358@daffolap358-Latitude-3450:~/Desktop/koa/ctx$
谁能告诉我我做错了什么?
我的代码是: 的 server.js:
var Koa =require('koa');
var middleware =require('koa-router');
var logger =require('koa-logger');
var parser =require('koa-bodyparser');
const router = middleware();
const app = new Koa();
router.post('/locations', async (ctx, next) =>{
console.log("ctx");
});
app
.use(logger()) // Logs information.
.use(parser()) // Parses json body requests.
.use(router.routes()) // Assigns routes.
.use(router.allowedMethods())
app.listen(5050, () => console.log('Listening on port 5050.'));
export default app;
答案 0 :(得分:1)
检查您的节点版本。它应该是> = 7.6.0。否则koa-2和async-await模式将不起作用。
答案 1 :(得分:1)
您收到此错误是因为您的节点版本低于7.6.0。 它应该大于7.6,Node 7.6中的Async / await支持来自将V8,Chromium的JavaScript引擎更新到版本5.5。