express - express js 路由缓存清除(heroku)
问题描述
我正在使用express js
并添加了新的 .pug 文件并给出了链接routes/index.js
但是当我尝试在浏览器 url 中访问时,它被重定向到 (404 page not found)
我能知道如何清除路由缓存吗?在我以前的 nodejs 应用程序中,它有 pm2,所以我重新启动了它。但是这里没有pm2,我不知道该怎么办?。任何帮助将非常感激。
注意:我已经尝试过此链接,但不起作用。
编辑
路线/index.js
// set up dependencies
var express = require('express');
var router = express.Router();
//
//
// Home Page
router.get('/', function(req, res, next) {
res.render('home', {
meta : {
title: 'Home'
}
})
});
//
//
// About Page
router.get('/about', function(req, res, next) {
res.render('about', {
meta : {
title: 'About Us'
}
})
});
//
//
//Partners Page
router.get('/partners', function(req, res, next) {
res.render('partners', {
meta : {
title: 'Partners'
}
})
});
//
//
// export the module
module.exports = router;
/app.js
// import dependencies
var express = require('express'), // Used for routing https://expressjs.com/
path = require('path'), // allows path combinations https://www.npmjs.com/package/path
favicon = require('serve-favicon'), // serves the favicon from spec. folder https://www.npmjs.com/package/serve-favicon
logger = require('morgan'), // logs errors and output to terminal during node run https://www.npmjs.com/package/morgan
cookieParser = require('cookie-parser'), // allows cookie parsing https://www.npmjs.com/package/cookie-parser
bodyParser = require('body-parser'), // allos parsing of req.body in POST requests https://www.npmjs.com/package/body-parser
session = require('express-session'), // express session storage... just using in-memory sessions https://www.npmjs.com/package/express-session
pug = require('pug'), // pug/jade templating language https://www.npmjs.com/package/pug
timeout = require('connect-timeout'), // sets the timeout on the app before we show error https://www.npmjs.com/package/timeout
compression = require('compression'), // gzip compression for nodejs https://www.npmjs.com/package/compression
port = process.env.PORT || 3000;
// import local dependencies
require('dotenv').config(); // loads CONFIG variables from the .env top-level file
// app internal setup
var app = express(); // sets app to use express
app.set('views', path.join(__dirname, 'views')); // sets up view directory
app.set('view engine', 'pug'); // sets view engine to use pug
app.use(favicon(path.join(__dirname, 'public', 'images', 'icons', 'favicon.ico'))); // sets favicon path
app.use(logger('dev')); // uses morgan/logger to log output to terminal
app.use(bodyParser.json()); // uses bodyParser to parse req
app.use(bodyParser.urlencoded({ extended : true })); // Parses the text as URL encoded data, extended extends UTF chars
app.use(cookieParser('secret')); // sets the session secret
// set up session storage (we dont really need this for this app, no login)
app.use(session({
secret: 'secret',
resave: false,
saveUninitialized: true,
cookie: { secure: true }
}));
app.use(express.static(path.join(__dirname, 'public'))); // sets static file directory path
app.use(compression()); // uses compression
app.use(timeout('100s')); // sets timeout interval
// set up routing
var routes = require('./routes');
app.use('/', routes);
// error catching
// stacktrace in dev., dislay error page in prod
app.use(function (req, res, next) {
var err = new Error('Not Found');
err.status = 404;
next(err);
});
if (app.get('env') === 'development') {
app.use(function (err, req, res, next) {
res.render('error', {
meta : {
title: '404 Page Not Found'
}
})
});
}
app.use(function (err, req, res, next) { // eslint-disable-line no-unused-vars
res.status(err.status || 404);
// log the error for heroku logs
console.log('error', err);
res.render('error', {});
});
// serve the app on PORT variable
// if using Heroku, this will be automatically set
var server = app.listen(port, function(err) {
if (err) {
console.log('App listening error ', err);
} else {
console.log('App running at ', port)
}
});
应用文件结构
app
|_ .heroku
|_ .profile.d
|_ node_modules
|_ public
|_ routes
|_ index.js
|_ views
|_ home.pug
|_ about.pug
|_ partners.pug
|_ .gitignore
|_ app.js
|_ gulpfile.js
|_ package-lock.json
|_ package.json
|_ Procfile
|_ README.md
|_ service-worker.js
解决方案
最后,朋友调试了代码,发现错误在partners.pug
文件中。间距问题。所以我复制了另一个哈巴狗文件并重命名为partners.pug
并链接到routes/index.js
它然后工作。它可能会帮助某人。
推荐阅读
- kubernetes - bw configmap 和 downapi 的区别
- c# - C# CustomButton 不起作用 CancelButton 和 AcceptButton
- python - 如何在 Python 中将一组字符串拆分为子字符串,使较短的子字符串更有可能?
- wordpress - 从 wordpress 导出原始媒体文件
- jmeter - 比较运行脚本的时间
- emacs - 某些基本功能在 org 模式下的 table.el 中不起作用?
- powershell - 如何显示 Powershell 脚本中的错误代码?
- postgresql - 如何备份模式的特定表并在其他模式上恢复
- linux - 在 Shell 中找不到命令以及正确的退出状态。如何解决这个问题?
- r - 使用 pickerInput() 过滤数据并根据 R 中的过滤数据进行绘图