本文共 3542 字,大约阅读时间需要 11 分钟。
安装Node.js、Express和MySQL入门基础
作为一名开发人员,首先需要完成Node.js、Express和MySQL的基础配置。下面是详细的入门指南。
第一步,安装并配置MySQL数据库
CREATE DATABASE '你的数据库名称';
CREATE USER 'username' @'localhost' IDENTIFIED BY 'password';GRANT ALL PRIVILEGES ON *.* TO 'username';FLUSH PRIVILEGES;
第二步,配置Express的session和cookie模块
在Express应用程序中,session和cookie模块用于管理用户会话和cookie。配置步骤如下:
const express = require('express');const session = require('express-session');const cookie = require('cookie-parser');app.use(cookie());app.use(session({ secret: '你的秘密键', resave: true, saveUninitialized: true, cookie: { maxAge: 10000 // cookie的有效时间,单位为毫秒 }}));express-session和cookie-parser包已安装:npm install express-session cookie-parser
第三步,配置MySQL数据库连接
const mysql = require('mysql');const db = mysql.createConnection({ host: 'localhost', port: 3306, user: 'username', password: 'password', database: '你的数据库名称', multipleStatements: true});db.connect((err) => { if (err) { console.error('数据库连接失败'); }});mysql包:npm install mysql
第四步,下载并配置EJS模块
EJS是Express的视图引擎,用于渲染动态网页内容。
npm install ejs --save-dev
app.set('views', __dirname + '/views');app.engine('html', ejs.__express);app.set('view engine', 'html');第五步,开发登录页面
创建login.html文件,用于用户登录:
登录
第六步,定义路由并处理登录请求
在perData.js文件中,定义登录处理函数:
const doLogin = (req, res) => { const phone = req.body.phone; const pwd = req.body.pwd; db.query('SELECT * FROM t_user WHERE u_tel = ? AND u_pwd = ?', [phone, pwd], (err, data) => { if (err) { console.error('数据库查询失败'); return res.status(500).json({ error: '登录失败' }); } if (data.length > 0) { // 处理记住密码功能 res.cookie('user', { user: phone, pwd: pwd }, { maxAge: 1000 * 60 * 60 }); req.session.user = phone; res.render('perCenter', { u_tel: req.session.user }); } else { return res.status(401).json({ error: '用户名或密码错误' }); } });}; 第七步,优化服务器入口文件
修改app.js文件,实现自动登录功能:
const express = require('express');const session = require('express-session');const cookie = require('cookie-parser');const ejs = require('ejs');const per = require('./routes/perData.js');const app = express();app.use(cookie());app.use(session({ secret: '你的秘密键', resave: true, saveUninitialized: true, cookie: { maxAge: 10000 }}));app.set('views', __dirname + '/views');app.engine('html', ejs.__express);app.set('view engine', 'html');app.use(express.logger('dev'));app.use(express.bodyParser());app.use(express.methodOverride());app.use(app.router);app.use(express.static(__dirname + '/public'));app.get('/', (req, res) => { if (req.cookies.user) { res.render('perCenter', { u_tel: req.cookies.user.user }); } else { res.redirect('index.html'); }});app.post('/login.do', per.doLogin);app.set('port', 8889);app.listen(app.get('port'), () => { console.log('启动成功', app.get('port'));}); 第八步,开发用户中心页面
创建perCenter.js视图文件:
通过以上步骤,你可以完成一个完整的登录系统。记住,随着项目的发展,你可能需要进一步优化和扩展代码,以满足更复杂的需求。
转载地址:http://unufz.baihongyu.com/