收到此错误后,如何使用ejs作为视图引擎解决该错误,并在控制台底部以红线显示此错误“ [nodemon]应用程序崩溃-等待文件更改,然后再开始...“ ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 、、、、、、、、、、、、、、、、、、、、、、、、、、、 、、、、、
app.js
var express = require('express');
var createError = require('http-errors');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');
var fileUpload = require('express-fileupload');
var session = require('express-session');
// var flash = require('req-flash');
var cors = require('cors');
var config = require('./config/config');
var glob = require('glob');
var mongoose = require('mongoose');
mongoose.connect(config.db);
var db = mongoose.connection;
db.on('error', () => {
throw new Error('unable to connect to database at ' + config.db);
});
var models = glob.sync(config.root + '/app/models/*.js');
models.forEach(function (model) {
require(model);
});
var indexRouter = require('./routes/index');
var usersRouter = require('./routes/users');
var app = express();
app.use(cors())
// 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(fileUpload());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
app.use(session({
secret: 'nuerficnutrhgxmdshgjhf',
resave: false,
saveUninitialized: true
}));
// Global variables
app.use(function(req, res, next){
res.locals.success_msg = req.flash('success_msg');
res.locals.error_msg = req.flash('error_msg');
res.locals.error = req.flash('error');
next();
});
//DB connection start
mongoose.Promise = global.Promise;
mongoose.connect('mongodb://localhost:27017/crud', {useNewUrlParser:
true})
.then(() => console.log('connection successful'))
.catch((err) => console.error(err))
//DB Connection End
app.use('/index', indexRouter);
app.use('/', usersRouter);
module.exports = require('./config/express')(app, config);
app.listen(config.port, () => {
console.log('Express server listening on port ' + config.port);
});
答案 0 :(得分:0)
在我的项目上运行App.js之后,我发现module.exports = require('./config/express')(app, config);
这行引起了问题。我已将其设置为module.exports = { app }
,服务器已成功运行。
我以我的项目App.js为例。也许可以帮助您以最佳方式保留App.js。
require('./config/config');
require('./config/mongoose');
const express = require('express');
const routes = require('./routes/index');
const bodyParser = require('body-parser');
const {port, publicPath} = require('./config/port');
const app = express();
app.use(express.static(publicPath));
app.use(bodyParser.json());
routes.forEach(function(route) {
let controller = require(route);
app.use("/", controller);
});
app.listen(port , () => {
//eslint-disable-next-line no-console
console.log(`Server is running on port ${port}`);
})
module.exports = {app};