node.js - 渲染 ejs 不再需要 path.join(__dirname, 'views') 吗?
问题描述
我在遵循教程时进行了一些测试,并注意到它们不包括:
app.set('views', path.join(__dirname, 'views'));
这是否不需要渲染 ejs 文件,或者我在以前的项目中使用错误。
这
app.set('view engine', 'ejs');
在那里,它仍然呈现 ejs。我不太明白这是怎么回事,也无法在网上找到任何东西。
请注意,我在视图文件夹中有一个名为 index.ejs 的简单 Hello World 文件。这是我的简单代码
const express = require('express');
const session = require('express-session');
const cookieParser = require('cookie-parser');
const flash = require('connect-flash');
const app = express();
const port = process.env.PORT || 4000;
app.use(express.urlencoded({extended: true}));
app.use(express.json());
app.use(cookieParser('SecretStringForCookies'));
app.use(session({
secret: 'SecretStringForSession',
cookie: {maxAge: 60000},
resave: true,
saveUninitialized: true
}));
app.use(flash());
app.set('view engine', 'ejs');
app.get('/', (req,res) => {
res.render('index');
});
app.post('/', (req,res) => {
res.redirect('/');
});
app.listen(port, () => {
console.log(`App listening on port: ${port}`);
});
解决方案
Daniel 如果您使用views 目录作为根目录,则无需在app.js 中提及,但如果您当时使用partials 和其他目录,则必须在app.js 中使用路径提及这些目录。
推荐阅读
- excel - 如何正确处理错误 91 对象变量或未设置块变量
- html - How do I display an html string in swift with WebKit?
- python - 将 csv 数据转换为特定格式的嵌套 json
- javascript - data.map is not a function in react
- javascript - Jquery Global variable doesn't return value outside the function
- c# - 使用 EntityFrameworkCore + mysql 在 blazor 服务器中“一次性”保存相关表的问题
- javascript - 在反应js中转换日期时间格式
- node.js - 错误无法读取未定义 discord.js 的属性“用户”
- snowflake-cloud-data-platform - 尝试通过将外部参数(Arg1,Arg2)传递到函数中的控件 SELECT 在雪花中创建 Javascript 基础 UDTF
- flutter - 即使它是假的,函数也会运行