[英]Heroku error: Cannot find module 'optimizer' causing internal server error
I'm trying to deploy my node.js
app on Heroku
and when i open it, it gives me an internal server error
.我正在尝试在Heroku
上部署我的node.js
应用程序,当我打开它时,它给了我一个internal server error
。 When i check the logs, t says Cannot find module optmizer
.当我检查日志时,t 说Cannot find module optmizer
。 I don't use anything called optmizer in the project.我在项目中不使用任何称为 optmizer 的东西。 When running it on localhost, it works perfectly but no idea as to why it asking about a missing module.在本地主机上运行它时,它运行良好,但不知道为什么它会询问丢失的模块。 I've also tried installing the optmizer module
but doesn't seem to do anything我也试过安装optmizer module
但似乎没有做任何事情
app.js应用程序.js
const createError = require('http-errors');
const express = require('express');
const path = require('path');
const cookieParser = require('cookie-parser');
const bodyParser = require('body-parser');
const logger = require('morgan');
const indexRouter = require('./routes/index');
const usersRouter = require('./routes/users');
const flash = require('connect-flash');
const session = require('express-session');
const app = express();
app.use(flash());
app.use(session({
cookie: { maxAge: 6000 },
secret: 'futuresonic',
resave: false,
saveUninitialized: false
}));
app.get('/', (req, res) => {
res.render('index', { title: 'MyWebApp', message: req.flash('success'), sessionFlash: res.locals.sessionFlash});
});
app.get('/done', (req, res) => {
res.render('done');
});
app.use((req, res, next) => {
res.locals.success = req.flash('success');
res.locals.info = req.flash('info');
res.locals.errors = req.flash('error');
res.locals.user = req.user || null;
next();
});
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'pug');
app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(bodyParser.urlencoded({ extended: true }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
app.use('/js', express.static(__dirname + '/node_modules/bootstrap/dist/js'));
app.use('/css', express.static(__dirname + '/node_modules/bootstrap/dist/css'));
app.use('/', indexRouter);
app.use('/users', usersRouter);
app.use((req, res, next) => {
next(createError(404))
});
app.use((err, req, res, next) => {
res.locals.message = err.message;
res.locals.error = req.app.get('env') === 'development' ? err : {};
res.status(err.status || 500);
res.render('error');
});
module.exports = app;
package.json包.json
{
"name": "MyWebApp",
"version": "0.0.0",
"private": true,
"scripts": {
"start": "node ./bin/www"
},
"dependencies": {
"body-parser": "^1.18.3",
"bootstrap": "^4.3.1",
"connect-flash": "^0.1.1",
"cookie-parser": "~1.4.3",
"debug": "~2.6.9",
"express": "~4.16.0",
"express-session": "^1.15.6",
"express-validator": "^5.3.1",
"firebase": "^5.8.6",
"firebase-admin": "^7.0.0",
"flash": "^1.1.0",
"http-errors": "~1.6.2",
"morgan": "~1.9.0",
"nodemon": "^1.18.10",
"pug": "^2.0.3"
},
"devDependencies": {
"@types/express": "^4.16.1",
"@types/node": "^11.11.3"
}
}
Heroku logs Heroku 日志
2019-03-15T11:35:26.247394+00:00 app[web.1]: Warning: connect.session() MemoryStore is not
2019-03-15T11:35:26.247433+00:00 app[web.1]: designed for a production environment, as it will leak
2019-03-15T11:35:26.247436+00:00 app[web.1]: memory, and will not scale past a single process.
2019-03-15T11:35:26.981657+00:00 heroku[web.1]: State changed from starting to up
2019-03-15T11:35:28.691683+00:00 heroku[router]: at=info method=GET path="/" host=pure-hamlet-86611.herokuapp.com request_id=1bcb11de-4b03-44fd-9835-7b48f0e2bf4b fwd="109.69.85.106" dyno=web.1 connect=1ms service=129ms status=500 bytes=569 protocol=https
2019-03-15T11:35:28.690100+00:00 app[web.1]: Error: Cannot find module './optimizer/level-0/optimize'
2019-03-15T11:35:28.690112+00:00 app[web.1]: at Function.Module._resolveFilename (internal/modules/cjs/loader.js:582:15)
2019-03-15T11:35:28.690115+00:00 app[web.1]: at Function.Module._load (internal/modules/cjs/loader.js:508:25)
2019-03-15T11:35:28.690117+00:00 app[web.1]: at Module.require (internal/modules/cjs/loader.js:637:17)
2019-03-15T11:35:28.690118+00:00 app[web.1]: at require (internal/modules/cjs/helpers.js:22:18)
2019-03-15T11:35:28.690120+00:00 app[web.1]: at Object.<anonymous> (/app/node_modules/clean-css/lib/clean.js:8:22)
2019-03-15T11:35:28.690122+00:00 app[web.1]: at Module._compile (internal/modules/cjs/loader.js:701:30)
2019-03-15T11:35:28.690124+00:00 app[web.1]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:712:10)
2019-03-15T11:35:28.690125+00:00 app[web.1]: at Module.load (internal/modules/cjs/loader.js:600:32)
2019-03-15T11:35:28.690127+00:00 app[web.1]: at tryModuleLoad (internal/modules/cjs/loader.js:539:12)
2019-03-15T11:35:28.690129+00:00 app[web.1]: at Function.Module._load (internal/modules/cjs/loader.js:531:3)
I got this error message after updating my version of pug to 2.0.3 and running npm audit
.将我的 pug 版本更新到 2.0.3 并运行npm audit
后,我收到此错误消息。 Not sure why.不知道为什么。 To fix I changed my package.json pug version to 2.0.0, deleted my package-lock.json, and recreated it using npm install
.为了修复,我将我的 package.json pug 版本更改为 2.0.0,删除了我的 package-lock.json,并使用npm install
重新创建它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.