node中使用模板引擎渲染(res.render) 失败

var express = require('express')


var app = express()

app.use('/public/',express.static('./public/'))
app.use('/views/',express.static('./views/'))
app.use('/node_modules/',express.static('./node_modules/'))

app.engine('html',require('express-art-template'))

app.get('/',function(req,res)
{
res.render('index.html',{})
})

app.listen(3000,function()
{
console.log('running')

})

上例中使用,服务器可以正常的running,说明 除 app.get(....)以外部分并没有错误

在app.get(...)中,把res.render 换成 res.send ,可以正常输出结果,说明render部分出错,

render是模板引擎express-art-template 的一个API,所以错误出在模板引擎上

报错内容:

TemplateError: C:\Users\Yao\Desktop\nodejs\demo\demo\views\index.html:1:1
 >> 1| <!DOCTYPE html>

    2| <html lang="en">

    3| <head>

    4| 	<meta charset="UTF-8">


CompileError: missing ) after argument list

卡这儿了,暂时无法解决


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
首先,在用户登录成功的时候,需要将用户的id存入session,可以使用express-session模块来实现: ```javascript // 引入express和express-session模块 const express = require('express'); const session = require('express-session'); // 创建express应用 const app = express(); // 配置session app.use(session({ secret: 'my-secret-key', // 加密session数据的密钥,可以随意设置 resave: false, // 是否每次请求都重新保存session数据,默认为true saveUninitialized: false // 是否保存未初始化的session数据,默认为false })); // 处理用户登录请求 app.post('/login', (req, res) => { const { username, password } = req.body; // 验证用户登录信息 // ... // 登录成功,将用户id存入session req.session.userId = user.id; // 返回登录成功信息 res.send('登录成功'); }); ``` 接下来,在需要判断用户是否登录的路由,可以通过判断session是否存在userId来判断用户是否已经登录: ```javascript // 处理需要登录才能访问的路由 app.get('/profile', (req, res) => { // 判断用户是否登录 if (!req.session.userId) { // 未登录,跳转到登录页面 res.redirect('/login'); return; } // 已登录,查询数据库获取用户信息 const userId = req.session.userId; // 查询数据库获取用户信息 // ... // 使用art-template模板引擎渲染页面 res.render('profile', { username: user.username }); }); ``` 在上述代码,如果判断用户未登录,则通过res.redirect()方法将用户重定向到登录页面。如果判断用户已登录,则从session获取userId,查询数据库获取用户信息,最后使用res.render()方法将数据渲染到前端页面上。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值