如何使用ejs模板而不是在node.js中使用express.static内容查看索引页?

问题描述 投票:0回答:1

我可以使用HTML和[]查看我的餐厅食物菜单生成器>

app.get('/', function (req, res) {
res.sendFile(__dirname + '/views/index.html');});

带有此express static method。但是,如果我想用此index page查看ejs-tempalting,该怎么办。这是我的main.js代码:

const bodyParser = require("body-parser");
var homeController = require("./Controllers/homeController.js");
var path = require("path");
const port = 3000,

express = require("express"),

app = express();
app.set("view engine", "ejs");
app.use(express.static(path.join(__dirname, 'public')));
app.get('/function.js',function(req,res){ res.sendFile(path.join(__dirname + '/javascript/function.js')); });
app.get('/main.css',function(req,res){ res.sendFile(path.join(__dirname + '/css/main.css')); });
app.get('/', function (req, res) {
});
//should this view the index page?//
app.get('/', function(req, res) {
    res.render('index');
});

app.use(bodyParser.urlencoded({ extended: false }));

app.listen(port, () => {

 console.log(`The Express.js server has started and is listening
➥ on port number: ${port}`);
});

我在index.ejs中有views folder,但有传言说您不必为ejs指定路径。如果我启动程序,则没有错误,但是页面也没有显示。因此,如果您能引导我走正确的道路,我将不胜感激,我是否需要routesControllers

我可以使用带有app.get('/',function(req,res){HTML。sendFile(__ dirname +'/views/index.html');}的HTML查看我的餐厅菜单生成器。用这种快速静态方法。但是如果我...

node.js express npm ejs
1个回答
0
投票

如果您要提供HTML之类的静态文件,那么您所做的是正确的。但是,如果您想向浏览器提供templating-engine之类的ejs,则需要使用以下命令安装依赖项

© www.soinside.com 2019 - 2024. All rights reserved.