Express 找不到模块

Posted

技术标签:

【中文标题】Express 找不到模块【英文标题】:Express cannot find module 【发布时间】:2018-01-27 04:31:14 【问题描述】:

我正在尝试在 MEAN 堆栈中使用 Passport 创建登录。 我现在正在加载设置 Passport 所需的所有模块,但它停止处理一行代码。我使用 Express 作为框架。

当我启动服务器时,它给了我以下错误:

错误:找不到模块“./models/user”

这是我的 app.js:

var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');

var mongoose = require('mongoose');
mongoose.Promise = global.Promise;
mongoose.connect('mongodb://localhost/homeapp');

var passport = require('passport');
var LocalStrategy = require('passport-local').Strategy;

var index = require('./routes/index');
var users = require('./routes/users');

var app = express();

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

// uncomment after placing your favicon in /public
//app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded( extended: false ));
app.use(cookieParser());
app.use(require('express-session')(
  secret: 'designer cat',
  resave: false,
  saveUninitialized: false
));
app.use(passport.initialize());
app.use(passport.session());
var User = require('./models/user');
passport.use(new LocalStrategy(User.authenticate()));
passport.serializeUser(User.serializeUser());
passport.deserializeUser(User.deserializeUser());
app.use(express.static(path.join(__dirname, 'public')));

文件夹结构:

├── app.js
├── bin
│   └── www
├── package.json
├── models
│   └── Users.js
├── node_modules
├── public
│   ├── images
│   ├── javascripts
│   └── stylesheets
│       └── style.css
├── routes
│   ├── index.js
│   └── users.js
└── views
    ├── error.jade
    ├── index.jade
    └── layout.jade

【问题讨论】:

你能告诉我文件夹结构吗? models目录下有user.js吗? 我已经添加了文件夹结构 【参考方案1】:

var User = require('./models/user'); 更改为var User = require('./models/User');

您的文件夹结构将用户模型显示为大写。

【讨论】:

太棒了!但是图像大小增加了太多,从 180MB,我有一个 720MB 的图像 :O :O.

以上是关于Express 找不到模块的主要内容,如果未能解决你的问题,请参考以下文章

Webpack + Express + EJS:错误:找不到模块“。”

出现错误,错误:npm install 后找不到模块“express”

找不到模块“快递”;找不到名称“进程”;等等

找不到模块“hbs”,快速车把

AWS Lambda + Angular Web 应用程序抛出“错误:找不到模块'@vendia/serverless-express'”

出现错误:找不到模块“。”在 webpackMissingModule