我正在尝试使用express框架在NodeJs中开发一个应用程序。当我从家里导航到内页时,我的路由工作正常。但是,如果我想从某个内页导航到主页,那么它就无法正常工作。
以下是我的app.js代码。
const express = require('express');
const path = require('path');
const engines = require('consolidate');
const bodyParser = require('body-parser');
//declare all routers
var home = require(path.join(__dirname, "/routes/index"));
var myaccount = require(path.join(__dirname, "/routes/myaccount"));
const app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.engine('html', engines.handlebars);
var defaultViewPath = path.join(__dirname, "/views");
app.set('views', defaultViewPath);
app.set('view engine', 'html');
app.use('/', home);
app.use('/myaccount', myaccount);
如果我从家里导航到myaccount - 它的工作 但是,如果我从myaacount导航到家 - 它会重新加载相同的页面。
任何人都可以帮我解决这个问题。
答案 0 :(得分:0)
使用app.get
和app.post
路线方法
app.get('/',function(req,res){
res.render('home');
});
app.get('/myaccount',function(req,res){
res.render('myaccount');
});
或为家庭创建路由器文件&我的帐户
var express = require('express')
var router = express.Router()
router.get('/', function (req, res) {
res.send('Home Page')
})
module.exports = router
在您的app.js
或index.js
文件中,需要route.js
var home = require('./route');
app.use('/', home)
答案 1 :(得分:0)
要使用 Express 应用对象的方法定义路由,请使用app.get()
来处理GET请求
var express = require('express')
var app = express()
// When GET request is made to the homepage
app.get('/', function (req, res) {
res.render('home');
});
// When GET request is made to the myaccount
app.get('/myaccount', function (req, res) {
res.render('myaccount');
});
app.get('/myaccount/innerpage', function (req, res) {
res.send('Hello Inner Page');
});
//Page Not Found
app.use(function(req, res){
//render the html page
//res.render('404');
res.sendStatus(404);
});
希望这可以帮到你