VS Code Mongoose模式智能感知不工作

pieyvz9o  于 2023-05-29  发布在  Go
关注(0)|答案(1)|浏览(145)

在我的Node.js项目(使用VS Code IDE)中,Mongoose模式智能感知没有显示。我正在学习Udemy Node.js课程。在那里,课程讲师的VS代码显示了Mongoose模式智能。我的意思是,当他们输入“type”属性时,VS Code建议Mongoose模式的“type”属性。也适用于其他属性,如“required”、“default”、“min”、“max”等。
但是,在我的VS代码中,它没有显示mongoose模式智能。
我不使用TypeScript,它只是一个Vanilla JS(Node.js)项目。
我几乎一整天都在寻找解决办法。但不能解决我的问题。
有些人会说:

  1. npm i mongoose -g(不适合我)
  2. npm i @types/mongoose(此NPM包在2年前已弃用)
    1.有人说,Mongoose模式智能感知是VS Code默认设置,不需要做任何更改。(我完全卸载[我的意思是干净卸载] VS Code和Node.js,然后重新安装。但是Mongoose模式智能感知仍然没有在我的VS代码中显示。
    我的Node.js版本是v20.2.0
    我的VS代码版本是1.78.2“用户”安装程序
    我的mongoose npm包版本是mongoose@7.2.0
    我在Windows 10上运行
    Udemy教练使用
  3. mongoose@5.2.17
  4. VS Code版本“1.49.something”
  5. Node.JS版本“14.11.0”
    1.他在Mac OS上运行
    1.没有延期。他说他的VS Code IDE是默认设置。
    我正在学习的Udemy Node.js课程是马克西米利安Schwarzmüller的“NodeJS - The Complete Guide(MVC,REST APIs,GraphQL,Deno)”[https://www.udemy.com/course/nodejs-the-complete-guide/]
    Udemy讲师视频截图如下所示。该视频的链接是[https://www.udemy.com/course/nodejs-the-complete-guide/learn/lecture/11954140#content]。视频截图的时间跨度是03:46。

下面是我的问题的屏幕截图(在我的VS代码上):

下面是我的代码:

/**
 * models/Product.js (Product Model file)
 */

import mongoose from "mongoose";

const Schema = mongoose.Schema;

const productSchema = new Schema({
        title: {
            type: String,
            required: true,
        }
    });

const Product = mongoose.model('Product', productSchema);

export default Product;
oxiaedzo

oxiaedzo1#

您的讲师使用了mongoose@5.2.17,这是在Mongoose开始在自己的包中发布自己的TypeScript类型定义之前的一个点,所以您应该使用npm i -D '@types/mongoose@~5.2.0'~是指与5.2匹配的任何内容(5.2下的任何补丁版本)。你应该这样做的原因是因为肯定类型包被编写为匹配他们提供类型类型的JS包的主要和次要版本(源代码)。
当您使用Mongoose的主要版本7而您的讲师使用主要版本5时,您不应该感到惊讶。在semver中,主要版本意味着破坏性的变化。

相关问题