【问题标题】:syntax Error: Invalid or unexpected token语法错误:无效或意外的令牌
【发布时间】:2019-11-13 00:15:49
【问题描述】:

我正在尝试连接到 mongoose,但是当我需要顶部的 mongoose 包时,它会抛出一个错误 “语法错误:无效或意外的令牌”。即使我评论了我的模型,它也不会改变。

app.js

const express = require("express");
const bodyParser = require("body-parser");
const mongoose = require("mongoose");

const feedRoutes = require("./routes/feed");

const app = express();

app.use(bodyParser.json());

app.use(feedRoutes);

mongoose
.connect(
 "mongodb+srv://name:password@reactrest-dkohi.mongodb.net/barber",
 { useNewUrlParser: true, useUnifiedTopology: true }
)
.then(result => {
 app.listen(8080);
 console.log("connected");
})
.catch(err => console.log(err));

我的模型 post.js

const mongoose = require("mongoose");

const Schema = mongoose.Schema;

const postSchema = new Schema(
{
  name: {
    type: String,
    required: true
  },
  age: {
    type: Number,
    required: true
  },
  phone: {
    type: Number,
    required: true
  },
  email: {
    type: String,
    required: false
  }
},
{
  timestamps: true
}
);

module.exports = mongoose.model("Post", postSchema);

这就是错误

SyntaxError: Invalid or unexpected token
    at Module._compile (internal/modules/cjs/loader.js:749:23)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:816:10)
    at Module.load (internal/modules/cjs/loader.js:672:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:612:12)
    at Function.Module._load (internal/modules/cjs/loader.js:604:3)
    at Module.require (internal/modules/cjs/loader.js:711:19)
    at require (internal/modules/cjs/helpers.js:14:16)
    at Object.<anonymous> (D:\document-disk(d)\SIDEPROJECT\node_modules\mongodb\lib\core\index.js:3:12)
    at Module._compile (internal/modules/cjs/loader.js:805:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:816:10)
[nodemon] app crashed - waiting for file changes before starting...

感谢您的帮助。

【问题讨论】:

  • 请发布更详细的错误消息。它的语法错误到底指向哪里?

标签: node.js mongodb mongoose


【解决方案1】:

似乎是 postSchema 中的一个错误的括号,位于电子邮件和时间戳之间。下面的 sn-p 有效吗?

const postSchema = new Schema(
{
  name: {
    type: String,
    required: true
  },
  age: {
    type: Number,
    required: true
  },
  phone: {
    type: Number,
    required: true
  },
  email: {
    type: String,
    required: false
  },
  {
  timestamps: true
  }
});

【讨论】:

  • 即使我评论了这个模型,错误仍然存​​在。似乎问题在于连接到猫鼬。在 app.js 中,如果我对 const mongoose = require("mongoose"); 发表评论并编写 app.listen(8080),它确实可以正常工作。
猜你喜欢
  • 2016-10-31
  • 1970-01-01
  • 1970-01-01
  • 2018-08-26
  • 2019-10-28
  • 2019-01-17
  • 1970-01-01
  • 2023-03-17
  • 1970-01-01
相关资源
最近更新 更多