NodeJS URL路由和渲染HTML
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NodeJS URL路由和渲染HTML相关的知识,希望对你有一定的参考价值。
我是nodejs编程的新手,现在我有一点问题。当我尝试去localhost:3000 /我想回家控制器和索引功能打印html文件。
APP.JS
const express = require('express')
const mongoose = require('mongoose')
const mongodb = require('mongodb')
const app = express();
const homeController = require('./home/homeController.js');
app.get('/', function(req, res) {
res.redirect(homeController.index);
});
app.listen(3000, () => console.log('Example app listening on port 80!'))
HOMECONTROLLER.JS
var path = require("path");
exports.index = function(req, res){
res.sendFile(path.join(__dirname+'/index.html'));
};
console.log('test33');
此外,我使用导出将app.js与其他控制器分开。这是正确的方法吗?我有Python Django框架的历史,我们曾经使用URL来导航我们的程序。
谢谢。
OUTPUT
不能GET /function%20(req,%20res)%7B%0A%20%20res.sendFile(path.join(__dirname+'/index.html'));%0A%7D
答案
你的问题是homeController.index
是一个函数,但你不是在调用它。更换:
app.get('/', function(req, res) {
res.redirect(homeController.index);
});
有:
app.get('/', homeController.index);
另一答案
你的homeController.js
导出index
函数,需要两个参数req
and res
。所以你必须相应地更新你的app.js:
app.get('/', function(req, res) {
homeController.index(req, res);
});
编辑:顺便说一句,您的应用正在侦听端口3000
以上是关于NodeJS URL路由和渲染HTML的主要内容,如果未能解决你的问题,请参考以下文章
路由 前后端渲染 url hash 和 html5 history