如何设置关于路由器的快速模块?
How can I set express module about router?
目录
/config
-routes.js
/public
/views
-index.pug
/home
-home.pug
-app.js
app.js
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);
routes.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');
});
};
当我尝试访问本地主机时,浏览器返回错误消息:port/home
错误:无法在视图目录 "C:\app\public\views"
中查找视图“/home/home”
下一个代码可以访问url。
router.get('/home', (req, res) => {
res.render(dir + '/home/home');
});
如何设置我的快递?
我不想使用 dir 变量,我只想 /home/home.
问题在于以下代码
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');
现在它应该可以工作了。
目录
/config
-routes.js
/public
/views
-index.pug
/home
-home.pug
-app.js
app.js
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);
routes.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');
});
};
当我尝试访问本地主机时,浏览器返回错误消息:port/home
错误:无法在视图目录 "C:\app\public\views"
中查找视图“/home/home”下一个代码可以访问url。
router.get('/home', (req, res) => {
res.render(dir + '/home/home');
});
如何设置我的快递? 我不想使用 dir 变量,我只想 /home/home.
问题在于以下代码
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');
现在它应该可以工作了。