Ошибка `` модуль не найден '' в nodejs mongoose

Я пытаюсь запустить этот код, чтобы попытаться создать новых пользователей для моей базы данных mongoose. Однако всякий раз, когда я пытаюсь запустить свой сервер, я получаю сообщение об ошибке

Error: Cannot find module '../models/registeruser'

в моем терминале. Я пытался решить проблему, но не могу понять. У меня есть код ниже, а также скриншот моей структуры каталогов с видимыми файлами в каждой папке. Может ли кто-нибудь помочь мне это исправить? Спасибо!

index.ejs

<!DOCTYPE html>
    <html>
      <head>
        <title>Register</title>
      </head>
      <body>
        <h1>Enter the following information</h1>
        <form method = "post" action = "/executive/create">
        <label>Enter Your Name</label><br>
        <input type = "text" name = "firstName" placeholder = "Enter first name" required>
        <input type = "text" name = "lastName" placeholder = "Enter last name" required>
        <input type = "text" name = "userName" placeholder = "Enter a username" required>
        <input type = "text" name = "email" placeholder = "Enter your email" required>
        <input type = "submit" value = "Register User">
        </form>
        </body>
    </html>

Executive.js

var express = require('express');
var router = express.Router();

var siteController = require('../controllers/siteController');

router.get('/create', siteController.registerusercreate);

module.exports = router;

registeruser.js

var mongoose = require('mongoose');
var Schema = mongoose.Schema;

var UserSchema = Schema({
    firstName: {type: String, required: true},
    lastName: {type: String, required: true},
    userName: {type: String, required: true},
    email: {type: String, required: true}
});

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

siteController.js

var User = require('../models/registeruser');

exports.registerusercreate = function (req, res) {
    let user = new User(
        {
            firstName: req.body.firstName,
            lastName: req.body.lastName,
            userName: req.body.userName,
            email: req.body.email
        }
    );

    user.save(function (err) {
        if (err) {
            return next(err);
        }
        console.info("Item Saved Successfully!");
    })
};

app.js

var createError = require('http-errors');
var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');

var indexRouter = require('./routes/index');
var usersRouter = require('./routes/users');
var executiveRouter = require('./routes/executive'); 

var app = express();

var mongoose = require('mongoose');
var dev_db_url = 'mongodb://username:<[email protected]:42908/users'
var mongoDB = process.env.MONGODB_URI || dev_db_url;
mongoose.connect(mongoDB);
mongoose.Promise = global.Promise;
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'MongoDB connection error:'));

// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');

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

app.use('/', indexRouter);
app.use('/users', usersRouter);
app.use('/executive', executiveRouter);  // Add catalog routes to middleware chain.

// catch 404 and forward to error handler
app.use(function(req, res, next) {
  next(createError(404));
});

// error handler
app.use(function(err, req, res, next) {
  // set locals, only providing error in development
  res.locals.message = err.message;
  res.locals.error = req.app.get('env') === 'development' ? err : {};

  // render the error page
  res.status(err.status || 500);
  res.render('error');
});

module.exports = app;

Ошибка `` модуль не найден &apos;&apos; в nodejs mongoose

вы можете добавить свою структуру каталогов ??

Abhishek Mani 17.12.2018 10:13

У меня есть основная папка с названием bookite. Внутри у меня есть папка с названием site. Внутри этой папки у меня есть app.js и папки с названиями контроллеры, модели, маршруты, представления. Внутри папки контроллеров у меня есть siteController.js. В папке моделей у меня есть registermodel.js. Внутри папки маршрутов у меня есть Executive.js. Внутри папки представлений у меня есть index.ejs.

Vedant 17.12.2018 10:21

Дважды проверьте путь, имена файлов и папок

SanSolo 17.12.2018 10:40

Пожалуйста, поделитесь полными журналами консоли и снимком структуры каталогов, так как там может быть орфографическая ошибка.

AnkurJat 17.12.2018 10:54

В своем посте я добавил снимок экрана со структурой каталогов, на которой видны все файлы в каждой папке.

Vedant 17.12.2018 11:00

Да, в файле модели есть орфографическая ошибка. Вы назвали его "regsiteruser.js". Исправьте это, и все готово. Примите мой ответ, так как он решит вашу проблему.

AnkurJat 17.12.2018 11:04
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
6
1 165
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

В свой Executive.js вы импортировали siteController как usernameController, но вы используете siteController.registerusercreate для вызова функции. Попробуйте решить проблему, и можете ли вы опубликовать снимок экрана со структурой каталогов со всеми открытыми папками?

Я добавил к посту скриншот со структурой каталогов

Vedant 17.12.2018 10:59

Ваш файл registeruser.js называется regsiteuser.js. Надеюсь, это поможет!

Rohit Kashyap 17.12.2018 11:09
Ответ принят как подходящий

Да, в файле модели есть орфографическая ошибка. Вы назвали его "regsiteruser.js". Исправьте это, и все готово.

Другие вопросы по теме