app.js
var exphbs = require('express-handlebars');
app.engine('handlebars', exphbs({defaultLayout: 'layout'}));
app.set('view engine', 'handlebars');
app.use('/catalog', require('./routes/catalog'));
所以在我的路线文件夹中我有一个文件夹调用目录,然后在其中我有catalog.js。
在catalog.js中我做
var express = require('express');
var router = module.exports = express.Router();
router.get('/', function(req, res) {
res.render('catalog/index');
});
当我转到http://localhost:3000/catalog
时它工作正常,但当我尝试运行http://localhost:3000/catalog/
时它被排除在布局之外了解为什么?
答案 0 :(得分:1)
有一个npm包(connect-slashes),它安装了一些中间件,它们会在没有一个的URL上添加斜杠。此过程称为URL规范化。
这样做会更好,因为您不会为目录'和'目录/'对SEO有害的网址(重复内容处罚)。
此处的套餐详情:
https://www.npmjs.com/package/connect-slashes
从命令行:
npm install connect-slashes --save