我正在为节点js应用设置环境。但是views / ejs文件没有被渲染。如果我这样做:
app.get("/", function(req, res){
res.send('Hello');
});
有效。但是如果我这样做:
app.get("/", function(req, res){
res.render("welcome");
});
没有。
我的app.js
const express = require("express");
const app = express();
const mongoose = require("mongoose");
const indexRoutes = require("./routes/index");
const userRoutes = require("./routes/user");
const ejsLayouts = require("express-ejs-layouts");
const path = require("path");
mongoose.connect("mongodb://localhost/userAuth", function(err, res) {
if (err) throw err;
console.log("Connected to database");
});
//EJS
app.set('view engine','ejs');
app.use(ejsLayouts);
app.use(express.static(__dirname + '/public'));
app.set('views',path.join(__dirname+'/views'))
//ROUTES
app.use("/", indexRoutes);
app.use("/user", userRoutes);
app.listen(3000, function() {
console.log("server started");
});
我的index.js文件(userLogin / routes / index.js)
const express=require("express");
path = require('path');
router= express.Router();
router.get("/",function(req,res){
res.render("check");
});
module.exports = router;
我的文件夹结构
userLogin
/ ..
/路线
/index.js
/ views
/welcome.ejs
我在welcome.ejs文件中有一个h1元素olny。
查看您提供的代码,当您拥有的唯一视图称为index.js
时,您正在尝试渲染check
视图。您的路径和路线看起来正确,可以渲染正确的视图。
welcome
如果您想渲染.html文件
然后
app.engine('html', require('ejs').renderFile);