Nodejs的日记网站,昨天刚发新版~
Nodejs的日记网站,昨天刚发新版~
把之前版本的routes全部重写,增加了wap版,修改了bootstrap,优化了许多交互细节,增加了日记本功能,丰富了个人设置等功能。
有想交流经验的,找bug的。。。开喷…。
前端用nginx判断的ua,分流到不同的版本,额,ie只支持到wap版~
首页:
个人页:
Node.js 的日记网站,昨天刚发新版~
大家好!今天我非常高兴地向大家介绍我们最新的 Node.js 日记网站。经过一段时间的努力,我们在原有基础上做了大量的改进和优化,发布了全新的版本。
新版特性
-
重写了所有路由:我们将之前的
routes文件全部重写,以提高性能和可维护性。// 示例代码:重写后的路由文件 const express = require('express'); const router = express.Router(); // 首页路由 router.get('/', (req, res) => { res.render('index', { title: '首页' }); }); // 个人页面路由 router.get('/profile', (req, res) => { res.render('profile', { title: '个人页' }); }); module.exports = router; -
增加了 WAP 版本:为了更好地适应移动设备,我们新增了 WAP 版本,使得移动用户可以更方便地访问。
// 示例代码:WAP 版本路由 router.get('/wap', (req, res) => { res.render('wap/index', { title: 'WAP 首页' }); }); -
修改了 Bootstrap 框架:我们更新了使用的 Bootstrap 版本,并对样式进行了调整,以提升用户体验。
<!-- 示例代码:更新后的 Bootstrap 样式 --> <link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" rel="stylesheet"> -
优化了许多交互细节:我们对一些交互细节进行了优化,例如表单提交、按钮点击等,使得用户操作更加流畅。
// 示例代码:优化表单提交 app.post('/submit', (req, res) => { const data = req.body; // 处理表单数据... res.redirect('/success'); }); -
增加了日记本功能:现在用户可以创建和管理自己的日记本,记录生活点滴。
// 示例代码:日记本功能 router.post('/diary/new', (req, res) => { const newDiary = req.body; // 将新日记保存到数据库... res.redirect('/diary'); }); -
丰富了个人设置功能:用户现在可以自定义个人资料,如头像、昵称等信息。
// 示例代码:个人设置功能 router.post('/settings', (req, res) => { const settings = req.body; // 更新用户设置... res.redirect('/profile'); });
技术实现
-
前端使用 Nginx 进行 UA 判断:我们使用 Nginx 来判断用户的 UA(User-Agent),并根据结果将请求分流到不同的版本。
# 示例代码:Nginx 配置 if ($http_user_agent ~* "Mobile") { return 301 http://wap.example.com; } -
IE 只支持 WAP 版本:考虑到 IE 浏览器的局限性,我们决定仅为其提供 WAP 版本的支持。
用户体验
我们希望这些改进能够提升您的使用体验。如果您有任何问题、建议或发现任何 bug,请随时与我们联系。我们非常乐意听取您的反馈!
-
首页截图:

-
个人页截图:

感谢大家的支持!
好像快了很多啊
能不能自定义模板啊?
很慢啊,都Time-out了
哎呀,我一直以为这两只兔子是一个人
哈哈 和我的差不多啊 nodejs学习笔记 http://bbs.w3hacker.com/forum-57-1.html
打算加这个功能呢。
我开始也有这个错觉。。
你这个是教程把。。
204个注册用户咯!
在yahoo.cn邮箱点击活邮件时出现以下错误:
Express 500 ReferenceError: /home/tuer2.0/views/wap/common/header.jade:4 2| title 兔耳日记 | #{title} 3| link(rel=“stylesheet”,href=“http://#{config.csshost}/style/css/m.css”,type=“text/css”,media=“screen”,charset=“utf-8”) > 4| config is not defined 2| title 兔耳日记 | #{title} 3| link(rel=“stylesheet”,href=“http://#{config.csshost}/style/css/m.css”,type=“text/css”,media=“screen”,charset=“utf-8”)
4|
config is not defined at eval (eval at (/home/tuer2.0/node_modules/jade/lib/jade.js:176:8)) at Object.exports.compile (/home/tuer2.0/node_modules/jade/lib/jade.js:181:12) at ServerResponse.res._render (/home/tuer2.0/node_modules/express/lib/view.js:425:21) at ServerResponse.res.render (/home/tuer2.0/node_modules/express/lib/view.js:318:17) at exports.active.render (/home/tuer2.0/routes/wap/register.js:89:8) at EventProxy.trigger (/home/tuer2.0/node_modules/eventproxy/eventproxy.js:112:34) at EventProxy.immediate (/home/tuer2.0/node_modules/eventproxy/eventproxy.js:145:14) at exports.active (/home/tuer2.0/routes/wap/register.js:108:28) at tuerBase.findOne (/home/tuer2.0/model/base.js:235:10) at Collection.findOne (/home/tuer2.0/node_modules/mongodb/lib/mongodb/collection.js:952:34)
我看看代码。
已经解决了,走到这一步账号已经激活了,应该邮件也给你发了。
wap版本激活那里少传了个参数,感谢反馈。已经修复。
Nodejs的日记网站,昨天刚发新版~
介绍
我们最近发布了一个新版的日记网站,网址是:tuer.me。这次更新包含了许多改进和新功能。
更新内容
- 重写所有路由:之前的路由逻辑被完全重写,以提高性能和可维护性。
- 增加WAP版:现在支持移动设备访问,用户体验得到提升。
- 修改Bootstrap样式:界面更加现代化,视觉效果更佳。
- 优化交互细节:改进了一些关键操作的体验,如创建、编辑和删除日记条目。
- 增加日记本功能:用户可以创建多个日记本,更好地组织他们的内容。
- 增加个人设置:提供了更多的个性化选项,如头像上传、背景自定义等。
技术栈
- 后端: Node.js + Express
- 前端: HTML, CSS, JavaScript (使用Bootstrap)
- 移动版: 使用Nginx根据User-Agent进行分流
Nginx配置示例
为了区分PC和移动用户,我们在Nginx中做了以下配置:
server {
listen 80;
server_name tuer.me;
if ($http_user_agent ~* "Mobile") {
return 301 http://m.tuer.me$request_uri;
}
location / {
proxy_pass http://your_backend_server;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
server {
listen 80;
server_name m.tuer.me;
location / {
proxy_pass http://your_mobile_backend_server;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
示例代码:日记本功能
这里是一个简单的日记本创建功能示例:
const express = require('express');
const router = express.Router();
const DiaryBook = require('../models/DiaryBook'); // 假设你有一个DiaryBook模型
// 创建日记本
router.post('/create-diary-book', async (req, res) => {
const { title } = req.body;
try {
const diaryBook = new DiaryBook({ title });
await diaryBook.save();
res.status(201).json(diaryBook);
} catch (error) {
res.status(500).json({ message: error.message });
}
});
module.exports = router;
总结
感谢大家的支持!如果你有任何建议或发现了任何问题,请随时联系我。期待你的反馈!
希望这些信息对你有所帮助!

