簡體   English   中英

錯誤:找不到模塊 '../models/User' - Mongoose 架構

[英]Error: Cannot find module '../models/User' - Mongoose schema

我正在我的 Sapper 應用程序中導入一個模塊,但我收到錯誤Cannot find module '../models/User'

使用const User = require('../models/User');導入

導出為module.exports = User = mongoose.model('user', UserSchema);

我缺少什么來完成這項工作? 根據vscode,路徑是正確的。

在此處輸入圖像描述

'../models/User.js':

const mongoose = require('mongoose');

const UserSchema = new mongoose.Schema({
  name: {
    type: String,
    required: true,
  },
  email: {
    type: String,
    required: true,
    unique: true,
  },
  password: {
    type: String,
    required: true,
  },
  date: {
    type: Date,
    default: Date.now,
  },
});

module.exports = User = mongoose.model('user', UserSchema);

編輯:我通過npx degit "sveltejs/sapper-template#rollup" my-app啟動一個新項目來重新創建錯誤。

即使項目是新的,我也遇到了同樣的錯誤,而且我還沒有安裝任何額外的依賴項鏈接

路徑正確,經vscode確認

我對 Sapper 沒有太多經驗,但據我所知,問題是實際調用是由__sapper_/dev/server/server.js而不是你的src文件夾中的調用。 如果您使用const User = require('../../../models/User')它應該可以工作,但您需要處理這個深層的相對路徑。

您需要將模型文件夾導出到更接近該文件的路徑,或者提出 function 來確定根路徑並在需要模型時用作前綴,例如const User = require(rootPath() + './models/User')

當您通過 hover 內部的字符串require時,它將顯示您正在引用的文件的絕對路徑。 通過執行ls <path of odule>檢查它需要的模塊是否存在

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM