如何防止express-ejs-layouts 包装我的其他页面?

2024-03-16

我正在寻找 Node.js 的页面布局,例如php https://laravel.com/docs/5.0/templates有他们的布局模板,非常完美。我想在node.js中实现它,最后找到了这个快速 ejs 布局 https://www.npmjs.com/package/express-ejs-layouts但其中有一个问题,我在他们的文档中看不到布局将包装我的所有页面,特别是我的登录和注册页面,它们具有不同的页眉和页脚。我们如何防止express-ejs-layouts 包裹我的其他页面?

const express = require('express');
const router = express.Router();
const path = require('path');
const multer = require('multer');
const bodyParser = require('body-parser');
const mysql = require('mysql');
const app = express();
const server = require('http').createServer(app);
const expressLayouts = require('express-ejs-layouts');

// Set Database Connection
const connection=mysql.createConnection({
    host:'localhost',
    user:'root',
    password:'',
    database:'project_101'
});

connection.connect(function(error){
    if(!!error) console.log(error);
    else console.log('Database Connected!');
});

app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');
app.use(express.static('assets'));
app.use(bodyParser.json());       
app.use(bodyParser.urlencoded());
app.use(bodyParser.urlencoded({extended: true}));
app.use(expressLayouts);

app.get('/',(req, res) => {
    let sql = "SELECT * FROM uploads";
    let query = connection.query(sql, (err, rows) => {
        if(err) throw err;
        res.render('index');
    });
});

app.get('/signup', (req, res) => {
    res.render('signup');
});

app.get('/signin', (req, res) => {
    res.render('signin');
});

app.get('/unknown-user', (req, res) => {
    res.render('unknown-user');
});

app.get('/profile', (req, res) => {
    res.render('profile');
});

const port = process.env.PORT || 3000;

// Server Listening
server.listen(port, function () {
    console.log('Server successfully running at: -',port);
});

终于找到了问题的解决方案快速 ejs 布局 https://www.npmjs.com/package/express-ejs-layouts

const express = require('express');
const expressLayouts = require('express-ejs-layouts');

app.use(expressLayouts);

您只需将页面声明为布局并将其设置为 false 即可。

app.set("layout signin", false);

并将页面与布局一起呈现。

app.get('/signin', (req, res) => {
    res.render('signin', { layout: 'signin' });
});

ez修复⚡️

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何防止express-ejs-layouts 包装我的其他页面? 的相关文章

  • 限制 Axios 请求

    我正在使用 axios 向 Deezer API 发出请求 不幸的是 使用 Deezer 的 API 当您请求艺术家的专辑时 它不包括专辑曲目 因此 我正在通过请求艺术家的专辑 然后对每个专辑执行后续的 axios 请求来解决这个问题 我遇
  • Angular JS + Node JS + Passport + Spring OAuth2 身份验证/授权

    我是 PassportJS 和 AngularJS 的新手 我对如何进行此授权有疑问 我有由 Oauth2 保护的 Spring REST API 但我必须像这样一起发送用户凭据 http localhost 8080 myapp oaut
  • 将随机字节转换为整数范围 - 如何?

    我试图通过读取 crypto randomBytes 来获取一定范围内的随机整数 现在 我的问题是我不知道如何从该字节流中读取整数 我想生成一个范围只是 丢弃 不在范围内的整数的问题 有任何想法吗 您可以从以下位置获取一个 32 位整数cr
  • xamarin 形式的图像上方其他图像的一半

    我正在使用 xamarin 表单 我需要创建一个布局 其中两个对象的位置如下 一个 圆 的一半在另一个对象 正方形 之上 我已经搜索过了 看来我需要使用相对布局 我尝试将两个对象设置在同一网格 行和行 0 中 然后使用constraintX
  • Node.js 中的 PHP exit()/die() 等价物是什么

    什么是 PHP die http www php net manual de function die php http www php net manual de function die php 在 Node js 中等效吗 https
  • 第一次使用node.js - “ReferenceError:节点未定义”

    我刚刚安装了node js 我尝试编写应该检查版本的node v 但它不起作用 这是输出 gt node v ReferenceError node is not defined at repl 1 2 at REPLServer self
  • 如何防止 gulp-notify 破坏 Windows 中的 gulp-watch?

    我正在使用吞咽通知 https www npmjs org package gulp notify插入 这是我如何在 gulpfile js 中实现它的示例 您可以看到我也在使用 gutil 和 livereload 我不知道它们是否发挥任
  • GraphQL 预期可迭代,但未找到字段 xxx.yyy 的迭代

    我目前正在尝试使用 NodeJS 进行 GraphQL 但我不知道为什么以下查询会出现此错误 library name user name email 我不确定是否type of my resolveLibrary是对的 因为在任何例子中我
  • 如何使用 Chai Http 发布对象数组

    我正在尝试发布一个对象数组ChaiHttp https github com chaijs chai http像这样 agent post route to api send locations lat lat1 lon lon1 lat
  • Docker - SequelizeConnectionRefusedError:连接 ECONNREFUSED 127.0.0.1:3306

    我正在尝试使用 Docker 容器启动并运行我的 Nodejs 应用程序 我不知道可能出了什么问题 当我使用控制台调试凭据时 凭据似乎已正确传递 另外启动sequel pro并使用相同的用户名和密码直接连接似乎也可行 当节点在容器中启动时
  • 尝试在 React 应用程序中连接到 MySQL 数据库时,无法读取未定义的属性(读取“查询”)错误

    我正在尝试连接到 MySQL 数据库并在单击按钮后在 React 应用程序中运行查询 一些它如何给出错误 我当前的代码如下所示 import mysql from mysql function App async function sync
  • 最小验证在 Mongoose 中不起作用

    我有一个架构 其中余额字段的声明如下所示 balance type Number min 0 default 30 我将 0 设置为最小值 这样余额就不会为负值 但是当我通过更新查询减少余额值时 余额结果是负值 我的更新查询 User up
  • 错误关系不存在

    我得到了 error relation causes does not exist 我的节点应用程序出现错误 这种关系确实存在 我不确定问题出在哪里 我创建了该表 CREATE TABLE causes cause id bigint NO
  • NPM 无法在 Windows 上安装“truffle”

    我正在尝试使用 npm 安装 truffle 但我不熟悉 NodeJS 并且不明白为什么 npm 不会安装它 我尝试npm install g truffle在具有管理员权限的 Powershell 中 经过几行输出后 我收到以下错误消息块
  • 使用 dpi 与 dp 缩放图像之间的差异

    我拥有所有由九个补丁位图组成的 dpi 可绘制目录 xxhdpi 和 xxxhdpi 是否必要 可绘制目录中的可绘制资源文件可检索所有缩放的位图 并且我使用可绘制资源文件 现在 我的问题是我还根据大小 小 正常等 创建了 缩放 布局目录 其
  • Express中间件修改请求

    我目前有一个正在运行的服务器 前端使用nodejs mongo express 和 W2UI W2ui 请求来自包含所有参数的记录数组 记录 名称 foo 我想编写一个中间件 在请求到达路由之前对其进行编辑和更改 您可以创建自己的中间件来处
  • 纤维/未来实际上有什么作用?

    下面这行代码的作用是什么 Npm require fibers future 我在网上查找示例 发现了一些这样的示例 Future Npm require fibers future var accessToken new Future 什
  • 全局传递 xhr onload 函数的值

    在我正在创建的应用程序中 我有以下 XMLHttpRequest 并且我正在尝试传递结果data在 的里面xhr onload 到在同一父函数中创建的数组中 var url http api soundcloud com resolve j
  • Meteor.setTimeout 和 Meteor.methods 之间的并发

    在我的 Meteor 应用程序中实现回合制多人游戏服务器 客户端通过发布 订阅接收游戏状态 并且可以调用 Meteor 方法sendTurn将回合数据发送到服务器 他们无法直接更新游戏状态集合 var endRound function g
  • javascript 是否有等效的 __repr__ ?

    我最接近Python的东西repr这是 function User name password this name name this password password User prototype toString function r

随机推荐

  • Swings ImageIcon 构造函数非常慢

    编辑 请参阅对此答案的评论以获取此问题的答案 TLDR 瓶颈是缩放图像 但分析显示这是 ImageIcon 构造函数中的问题 java version Picked up JAVA OPTIONS Dswing aatext true Da
  • 为什么我在安装 gem 时收到“权限被拒绝”错误?

    我正在尝试安装 Jekyll 运行后gem install jekyll我收到此错误 ERROR While executing gem Errno EACCES Permission denied usr local lib ruby g
  • Firebase 实时数据库 API 中的“set”和“update”有什么区别?

    正如标题所说 我无法理解之间的区别update and set 此外 文档也无法帮助我 因为如果我使用 set 代替 更新示例的工作原理完全相同 The update文档中的示例 function writeNewPost uid user
  • Android getsupportedvideosizes 在模拟器上返回 null

    我尝试在模拟器中获取支持的视频大小 如下所示 但它总是返回 null 为什么会这样 我在 4 03 中尝试过 提前致谢 Camera camera Camera open android hardware Camera Parameters
  • 无法从 $injector.get() 获取服务实例

    我定义了一个名为 greeting 的客户服务 但无法从 injector get greeting 获取该实例 它会抛出这样的错误 未知提供者 greetingProvider 那么哪种方式才是正确的获取方式呢 以下是代码 var app
  • 更改 y 对数刻度 imshow()

    我正在尝试根据周期绘制 y 尺度的频谱图 所以我想要一个反转的对数尺度 事情是 我找到了如何使用pcolormesh 不是通过使用imshow imshow 似乎比pcolormesh 这对我来说 是一个非常喜欢它的理由 我错过了什么 我不
  • 如何在 SQL Server 和 C# 中加快读取大量数据的速度

    我的数据库中有一个包含大约 200k 条目的视图 我正在使用以下代码阅读它 using SqlConnection conn new SqlConnection conn Open string query SELECT FROM SP3D
  • Perl:写入速度之谜?

    输出速率怎么可能高于硬盘写入速率呢 Update 1 我更改了以下内容 关闭了防病毒软件 不用找了 插入新的物理磁盘并使用第一个分区 为了测试 初始测试的磁盘位于 最后一个分区 与系统分区分开 但是 在同一物理磁盘上 结果 有相同的 循环模
  • 使用自定义端点的 to.minutes

    我使用的是从上午 9 50 开始的日内数据 并希望将其转换为 20 分钟的时间间隔 因此第一个时间段是从 09 50 到 10 09 59 第二个时间段是从 10 开始 10 至 10 29 59 等 但是to minutes 来自xts软
  • F# 的隐藏功能

    Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案或互动 这是类似的毫不掩饰的尝试C https stackoverflow com questions
  • 为什么简单的网站在移动设备(至少是 iOS Safari 和 Chrome)上会崩溃?

    我有一个非常简单但又很长的网站 有很多可以滚动浏览的文本 这是一个文档网站 考虑到内容的性质 很多简短的相似条目 我决定立即显示所有内容 因此用户可以从一个条目滚动到另一个条目 也可以通过侧边栏索引进行导航 这是我喜欢的常见文档模型 例如下
  • 外部范围不再适用于 ui-grid

    我正在将 ui grid 从 v3 0 0 RC 18 升级到 v3 0 0 rc 20 76029e7 突然 external scopes 属性停止工作 有什么替代方案吗 externalScopes在 RC 19 中被删除 您可以在此
  • Angular - 使用 \n 渲染 Markdown

    我正在尝试在 Angular 应用程序中渲染 Markdown 我正在使用ngx markdown https github com jfcere ngx markdown与 Angular 5 一起使用 效果很好 但是 我必须升级到 An
  • 在 300 万个文本文件中搜索匹配项 [已关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我有一个简单的要求 用户输入一堆单词 系统扫描超过 300 万个文本文件并找到包含这些关键字的文件 在没有复杂的搜索 索引算法的情况下实现这
  • 使用样式表设置 QGroupBox 标题字体大小

    我希望能够使用样式表设置 QGroupBox 标题的字体大小 我似乎无法弄清楚 根据我读过的内容here http qt project org doc qt 4 7 stylesheet examples html id bfd71794
  • Ansible:无法设置变量以顺序执行

    我正在尝试构建一个带有滚动更新用例 顺序执行 的剧本serial元素 由于我必须在剧本中的多个位置使用序列值 因此我想将其用作变量 可用于将某处定义为组变量 库存档案 all webserver1 ansible host 10 1 1 1
  • Python单元测试中setUp()和setUpClass()有什么区别?

    有什么区别setUp and setUpClass 在Python中unittest框架 为什么要使用一种方法而不是另一种方法来处理设置 我想了解设置的哪一部分是在setUp and setUpClass 函数 以及tearDown and
  • C# WinForms UserControl 鼠标事件帮助

    我有一个为我的项目创建的自定义控件 在此控件中有几个子控件 例如 Label PictureBox 和 LinkLabel 除了 LinkLabel 之外 我希望当前鼠标悬停在父控件上的事件并使控件响应鼠标悬停 当您将鼠标悬停在控件上时 背
  • Azure 网站 Kudu 发布因超时而失败

    我为我的 azure 部署定义了一个自定义部署脚本 sh 脚本 就在今天 我发现我无法发布 我更新了我的 bitbucket 存储库 过了一会儿 我收到类似于以下内容的错误 Command starter cmd deploy pvl co
  • 如何防止express-ejs-layouts 包装我的其他页面?

    我正在寻找 Node js 的页面布局 例如php https laravel com docs 5 0 templates有他们的布局模板 非常完美 我想在node js中实现它 最后找到了这个快速 ejs 布局 https www np