首页 > 解决方案 > node.js 语法错误:SyntaxError: Unexpected end of input

问题描述

我有一个 SyntaxError: Unexpected end of input。我是节点新手。错误位于 } 的第 33 行)。我很确定它与函数的关闭有关,但不太确定。

var express = require('express');
var app = express();
var fs = require('fs');
var path = require('path');

app.use(express.static(path.join(__dirname, '/public')));
app.use(bodyParser.urlencoded({ extended: false }))
app.use(bodyParser.json());

app.use('/', express.static(path.join(__dirname, 'public')));

app.get('/favorites', function(req, res){
  var data = fs.readFileSync('./data.json');
  res.setHeader('Content-Type', 'application/json');
  res.send(data);
;

app.get('favorites', function(req, res){
  if(!req.body.name || !req.body.oid){
    res.send("Error");
    return
  
  var data = JSON.parse(fs.readFileSync('./data.json'));
  data.push(req.body);
  fs.writeFile('./data.json', JSON.stringify(data));
  res.setHeader('Content-Type', 'application/json');
  res.send(data);
};

app.list(3000, function(){
  console.log("Listening on port 3000");
});

标签: node.js

解决方案


您忘记在此处关闭 2 get 请求的括号:

app.get('/favorites', function(req, res){
    var data = fs.readFileSync('./data.json');
    res.setHeader('Content-Type', 'application/json');
    res.send(data);
});  //here

和这里:

app.get('favorites', function(req, res){
    if(!req.body.name || !req.body.oid){
    res.send("Error");
    return

    var data = JSON.parse(fs.readFileSync('./data.json'));
    data.push(req.body);
    fs.writeFile('./data.json', JSON.stringify(data));
    res.setHeader('Content-Type', 'application/json');
    res.send(data);
}); //here

推荐阅读