directoies
const express = require('express'),
app = express();
app.use(express.static(path.join(__dirname, 'public')));
app.set('views', path.join(__dirname, 'public/views')));
app.set('view engine', 'pug');
require(__dirname + '/config/routes.js')(app);
app.listen(port);
app.js
module.exports = function (app) {
const express = require('express'),
router = express.Router(),
dir = app.get('views');
app.use('/', router);
router.get('/', (req, res) => {
res.render('index');
});
router.get('/home', (req, res) => {
res.render('/home/home');
});
};
routes.js
router.get('/home', (req, res) => {
res.render(dir + '/home/home');
});
当我尝试访问localhost:port / home 时,浏览器返回了错误消息
错误:无法查找视图" / home / home"在views目录" C:\ app \ public \ views"
下一个代码可以访问url。
magician_names = ['jim', 'kaitlyn', 'nick', 'paul', 'kyle']
magician_names = ["The Great {}".format(i) for i in magician_names]
如何设置我的快递? 我不想使用dir变量,我只想/ home / home。
答案 0 :(得分:0)
问题在于以下代码
router.get('/home', (req, res) => {
res.render(dir + '/home/home');
});
您不必在 res.render(); 中指定 dir ,并且开头的 / 正斜杠应该是除去。由于您已经告诉Expressjs在 views文件夹中查找视图文件 app.set('views', path.join(__dirname, 'public/views')));
将其更改为res.render('home/home');
现在它应该可以正常工作。