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