【问题标题】:How to render all html pages in express.js by one app.listen in index.js如何通过 index.js 中的一个 app.listen 渲染 express.js 中的所有 html 页面
【发布时间】:2022-02-15 12:25:35
【问题描述】:

我想在 express.js 中呈现我的项目目录中的所有 HTML 页面,而不为所有页面编写 app.listen。

有没有办法做到这一点?

【问题讨论】:

  • 我不确定您是如何尝试使用 app.listen 执行此操作的,但您应该使用视图模板引擎。见expressjs.com/en/guide/using-template-engines.html
  • 好的,我开始使用ejs了!但是它仍然需要一个 res.render 来渲染每个 ejs 文件!我希望它就像我只需要编写一个代码来呈现我文件夹中的所有 ejs 文件一样!我怎样才能做到这一点? @knicholas
  • 您是否有理由希望一次渲染所有 ejs?如果我知道这样做的目的,也许我可以提出一个替代方案......
  • 我正在制作一个聊天应用程序!所以会一直有新的页面!所以我需要渲染所有!否则我不能只为所有组添加 res.render ,对吗?所以我确实需要另一种方式
  • 而且我不想一次渲染所有页面!我的 ejs 中会有 links() 标签,所以我需要为所有页面输入 res.render!这就是问题@knicholas

标签: html node.js express


【解决方案1】:

所以我找到了答案。这是一场艰苦的战斗,但我得到了:-

// Variables
const express = require('express')
const path = require('path')
const http = require('http')
const PORT = process.env.PORT || 3000
const socketio = require('socket.io')
const app = express()
const server = http.createServer(app)
const io = socketio(server)

// Set Static Folder
app.use(express.static(path.join(__dirname,'app')))

// Start Server
server.listen(PORT,() => console.log(`Server Running at ` + PORT))

这是代码。谢谢你的帮助! 我也用过socket.io。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-28
    • 2020-12-28
    • 1970-01-01
    • 1970-01-01
    • 2010-11-18
    • 1970-01-01
    • 1970-01-01
    • 2015-01-30
    相关资源
    最近更新 更多