nodejs实战《一起学 Node.js》 使用 Express + MongoDB 搭建多人博客

关注 江南野鹤
文章目录
  • N-blog
  • 开发环境
  • 目录

nodejs实战《一起学 Node.js》 使用 Express + MongoDB 搭建多人博客

原创

江南野鹤 2021-07-20 10:21:57 ©著作权

文章标签 NodeJS Express MongoDB nodejs 文章分类 Java 后端开发

©著作权归作者所有:来自51CTO博客作者江南野鹤的原创作品,请联系作者获取转载授权,否则将追究法律责任

GitHub: https:///nswbmw/N-blog

N-blog

使用 Express + MongoDB 搭建多人博客

开发环境

  • Node.js: 6.9.1
  • MongoDB: 3.2.10
  • Express: 4.14.0

目录

  • 开发环境搭建
    • Node.js 的安装与使用
      • 安装 Node.js
      • n 和 nvm
      • nrm
    • MongoDB 的安装与使用
      • 安装与启动 MongoDB
      • Robomongo 和 MongoChef
  • Node.js 知识点讲解
    • require
    • exports 和 module.exports
    • Promise
    • 环境变量
    • packge.json
      • semver
    • npm 使用注意事项
      • npm init
      • npm install
      • npm scripts
      • npm shrinkwrap
  • Hello, Express
    • 初始化一个 Express 项目
      • supervisor
    • 路由
      • express.Router
    • 模板引擎
      • ejs
      • includes
    • Express 浅析
      • 中间件与 next
      • 错误处理
  • 一个简单的博客
    • 开发环境
    • 准备工作
      • 目录结构
      • 安装依赖模块
    • 配置文件
      • config-lite
    • 功能设计
      • 功能与路由设计
      • 会话
      • 页面通知
      • 权限控制
    • 页面设计
      • 组件
      • app.locals 和 res.locals
    • 连接数据库
      • 为什么使用 Mongolass
    • 注册
      • 用户模型设计
      • 注册页
      • 注册与文件上传
    • 登出与登录
      • 登出
      • 登录页
      • 登录
    • 文章
      • 文章模型设计
      • 发表文章
      • 主页与文章页
      • 编辑与删除文章
    • 留言
      • 留言模型设计
      • 显示留言
      • 发表与删除留言
    • 404页面
    • 错误页面
    • 日志
      • winston 和 express-winston
      • .gitignore
    • 测试
      • mocha 和 supertest
      • 测试覆盖率
    • 部署
      • 申请 MLab
      • pm2
      • 部署到 Heroku
      • 部署到 UCloud
  • 赞
  • 收藏
  • 评论
  • 分享
  • 举报

上一篇:nodejs 视频教程《一起学nodejs》

下一篇:nodejs 异步编程 教程(推荐)

提问和评论都可以,用心的回复会被更多人看到 评论
发布评论
全部评论 () 最热 最新
相关文章
  • WebSocket 服务端开发:Node.js 实战

    在现代网页应用中,一个强大的 WebSocket 服务器就像是一个高效的调度中心,能够处理成千上万的并发连接。记得在一个直播平台项目中,我们通过优化 WebSocket 服务器架构,成功支持了 10 万用户同时在线。今天,我想和大家分享如何使用 Node.js 构建高性能的 WebSocket 服务器。服务器架构设计一个优秀的 WebSocket 服务器需要考虑以下几个关键点:连接管理消

    前端 程序员
  • Node.js 内存溢出

    Node.js内存溢出在使用Node.js开发应用程序时,内存溢出是一个常见的问题。当我们的应用程序消耗了太多的内存资源,而未能释放它们,就会导致内存溢出错误。本文将详细介绍什么是内存溢出,它的原因是什么,以及如何通过代码示例来避免和解决这个问题。什么是内存溢出内存溢出是指应用程序在分配给其使用的内存超出了系统可用的内存范围。当一个程序尝试分配更多的内存,而操作系统无法满足需求时,就会发生

    内存溢出 数据 应用程序
  • 【Node.js】-包以及npm基本使用操作

    一、包的概念将模块、代码、其他资料聚合成一个文件夹包分类:项目包:主要用于编写项目和业务逻辑软件包:封装工具和方法进行使用要求:根目录中,必须有package.js文件(记录包的清单信息)注意:导入软件包时,引入的默认是index.js模块文件/main属性指定的模块文件二、案例需求:封装数组求和函数的模块,判断用户名和密码长度函数的模块,形成一个软件包/** * 目标:封装数组常用的方法 *

    封装 node.js
  • 《Node.js实战》博客实例 express4.x

        大致看了一阵子nodejs的书,对语法有初步的了解。但是还是写不出个实例来。最近学长给我的这本书感觉挺入门的《Node.js实战》电子工业出版社。毕竟图书馆借的,出版时间已经是两年前了。很多代码都更新了。特别是express 4.x相对与express 3.x有很多的修改。比如把中间件独立出来。好处是有。这样express的更新就不用受这些中间件的影

    express node 博客实例
  • Node.js 笔记(一) nodejs、npm、express安装

    ejs是怎么用的。如下:该代码主要是创建一...

    git javascript 数据库 ViewUI 命令行
  • 跟我一起学NodeJS,数据篇(MongoDB)

    几乎所有的网站都需要某种持久化的方式,持久化最常用的无非是内存缓存,文件存储和数据库存储。今天小编将和大家重点学习下数据库相关内容。常用的数据库有关系型的数据库(MySQL,SQL Server、Oracle等)与非关系型数据库(MongoDB),本篇的内容小编将带着大家重点了解下什么是MongoDB。什么是非关系型数据库(NOSQL)?NoSQL(NoSQL = Not Only SQL),泛指

    java
  • node.js express使用session

    在 Express 这个框架中,默认不支持 Session 和 Cookie但是我们可以使用第三方中间件:express-session 来解决1. 安装npm install express-session2. 配置 (一定要在 app.use(router) 之前)例如:app.use(session({ // 配置加密字符串,它会在原有加密基础之上和这个字符串拼起来去加密 // 目的是为了增加安全性,防止客户端恶意伪造 secret: 'itcast', resave:

    Node.js
  • Node.js:Express

    Express

    中间件 服务器 客户端 应用生成器 json
  • Node.js 实战开发:博客系统

    一、需求分析二、开发工具1、NodeJs:基础核心开发语言2、express:一个简洁而灵活的nodejsweb应用框架,提供一系列强大的特效帮助我们创建各种web应用3、mongodb:数据库4、第三方模块/中间件bodyParser:解析post请求数据cookies:读/写cookieswig:模板解析引擎mongoose:操作mongodb数据markdown:markdown语法解析生成

    node 博客系统
  • Node.js(一)——NodeJs基础

    一、概念node.js采用Google Chrome浏览器规范引擎 由C++语言编写的。本质上是一个JavaScript的运行环境nodejs 不仅仅能解析js代码而且没有浏览器端各种安全的级别限制还提供一些系统级别的API,比如:1.文件的读写2.进程的管理3.网络的通信09年面世以来一直很火其次它很强,借助于NodeJs所能完成的事情,当然不仅仅与此Node-Webkit appjs 相似的应

    基础 Node
  • node.js搭建个人博客系统

    node.js+腾讯云搭建个人博客系统最好要有的预备知识:前端开发知识 - html - css - Jav

    腾讯云 个人博客 nodejs express git
  • nodejs 视频教程《一起学nodejs》

    一起学nodejs 讲师: matthew vscode+nodejs4.6 http://list.youku.com/albumlist/show/id_27966955.html?spm=a2h0k.8191403.0.0&sf=10100

    NodeJS 视频教程 nodejs
  • node.js - 包、express

    首先,要先在这里分享一下我的喜悦,从昨天开始其实一直都在喜悦当中的,我收到了我的第一份offer,这感觉不摆了,比第一桶金都还舒服,虽然我还没收到第一桶金哈哈,不过offer都得了应该也快了。今天的内容有点小多,容我慢慢道来1.首先我们看到包的管理配置文件以及下包慢的问题,在我们多人协作下,是不是要经常把自己的代码共享出去通过git、github之类的,那么我应该发现一个问题,一个项目文件,有30

    前端 node.js
  • Node.js Express 框架

    Express 简介Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具。使用 Express 可以快速地搭建一个完整功能的网站。Express 框架核心特性:可以设置中间件来响应 HTTP 请求。定义了路由表用于执行不同的 HTTP 请求动作。可以通过向模板传递参数来动态渲染 HTML 页面。安装 Exp

    Express Nodejs
  • nodejs express实战 node.js实战

    参考:一、Node.js中的模块Node.js使用require引入依赖的模块,因此模块是Node.js中的重要组成部分,这篇博客主要罗列一下常用的Node.js模块,并且在后期会添加在工作中用到的模块参考备用。二、Node.js EventEmitterNode.js 所有的异步 I/O 操作在完成时都会发送一个事件到事件队列。Node.js里面的许多对象都会分发事件,所有这些产生事件的对象都是

    nodejs express实战 偏移量 监听器 字节序
  • nodejs 类似express node.js的express

    ExpressExpress 是基于 Node.js 平台,快速、开放、极简的 Web 开发框架使用 Express,我们可以方便、快速的创建 Web 网站的服务器或 API 接口的服务器。express的基本使用安装npm install expressnpm i express@最新版本号创建基本的web服务器导入express模块创建web服务器调用app.listen()函数启动服务器//

    nodejs 类似express 中间件 服务器 Express
  • Node.js 实战开发-Express

    Node.js的底层API会让人感觉到很繁琐,监听个get请求就要写多行代码,Express是基于Node.js的web开放框架,进行了封装,让开发者只关注业务逻辑开发,而且基于中间件开发模式,扩展性强,express 核心概念路由中间件模板引擎1.路由1.粗略的来说支持四种类型的路由字符串类型字符串模板类型正则表达式类型参数类型var express = require('express')v

    Node.js Express
  • nodejs项目和python一起打包 Electron node.js vs python

    使用一组预定义因素对Python和Node.js进行详细比较 > Photo by Tim van der Kuip on Unsplash 在进行新项目时选择正确的编程语言可能是程序员经常做出的最艰巨的决定之一。这个挑战背后的原因是,每个新项目都会遇到一个独特的问题,并且在编程世界中,没有任何行业的大师。 不同的编程语言都有其长处和短处,这使其适用于某些情况,但并非全部都适用,并

    node JS獲取GPS Python 应用程序 Web
  • Node.js Express 框架 Express

    Express 简介Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具。使用 Express 可以快速地搭建一个完整功能的网站。Express 框架核心特性:可以设置中间件来响应 HTTP 请求。定义了路由表用于执行不同的 HTTP 请求动作。可以通过向模板传递参数来动态渲染 HTM

    nodejs html 应用实例 表单 json
  • Node.js + Express + MySQL 搭建项目框架

    背景本文主要是展示使用 Express 和 MySQL 来搭建项目框架的步骤,展示了如何搭建项目并进行基本操作。Express创建项目Express 是基于 Node.js 平台,快速、开放、极简的 Web 开发框架。全局安装 express-generatorexpress-generator 是 Express 应用程序生成器工具,我们可以使用它来快速创建应用程序框架。npm install

    Node.js Express MySQL
  • 大模型推理(六):K/V缓存(KV cache)与上下文长度

    每一步,模型都会保留所有之前已经

    笔记 transformer 神经网络 深度学习 数学建模
  • RS232和RS485区别

    RS232和RS485芯片的核心区别在于,它们为实现不同的通信标准,在电平转换方式、抗干扰能力和网络拓扑结构上有着根本性的不同。下面这个表格能让你快速抓住核心差异。

    单片机 嵌入式硬件 差分 网络拓扑 数据
  • Nullboard错误监控系统:前端异常上报与日志分析实现

    痛点与解决方案你是否曾因Nullboard突然崩溃丢失数据而困扰?作为轻量级看板工具,Nullboard的本地存储特性虽保障隐私,却缺乏完善的错误监控机制。本文将详解如何为Nullboard构建前端异常捕获、日志上报和分析系统,帮助开发者快速定位问题,提升系统稳定性。异常捕获机制实现全局错误监听通过重写window.onerror和window.addEventListener('error')捕

    错误日志 JSON html
  • scrapy 中使用nest_asyncio

    Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 其可以应用在数据挖掘,信息处理或存储历史数据等一系列的程序中。其最初是为了页面抓取 (更确切来说, 网络抓取 )所设计的, 也可以应用在获取API所返回的数据(例如 Amazon Associates Web Services ) 或者通用的网络爬虫。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。1.Scrapy 使

    Scrapy 数据 ide 中间件
  • jenkins推送 企业微信 汉字乱码

    2014年为了尝鲜自己为单位做了微信服务号,受到同事们的一致好评,然而大boss对此毫无所知,小boss们也是可有可无。平时的工作也是实在平淡,2015年上半年又加入些许实用功能。(不要我问我怎么能拿到数据,我知回答他们的数据库都托管到我们部门,每次维护都是我配合集成商工程师调试,所以搞好各部门的关系也是十分必要的)。9月单位换了新的大boss,对微信十分感兴趣,特别是喜欢微信每天推送的新闻格式。

    jenkins推送 企业微信 汉字乱码 企业号 解决方案 微信服务号
江南野鹤
    关注
    分类列表
    • # 微信hook8篇
    • # 微信公众号文章采集1篇
    精品课程领资料
    免费资料>
    2025软考
    系统架构设计师 系统规划与管理师 软件设计师 系统集成项目管理工程师
    信创认证
    系统架构师 信创集成项目管理师 信创规划管理师 系统开发工程师
    厂商认证
    CKA/CKS架构师 红帽认证工程师 Oracle-OCP认证 Oracle-OCM认证
    IT技术
    数据库高级工程师 AIGC大模型实战 Linux云计算架构师 Python全栈开发
    华为认证
    数通HCIP认证 云计算HCIE认证 华为存储HCIE认证 HCIP安全认证
    近期文章
    • 1.Java 线程池 核心线程数 最大线程数 缓冲队列数 拒绝策略
    • 2.星纵物联10月北京园区&楼宇节能主题沙龙圆满落幕
    • 3.桃李面包泉州公司增资至4.6亿
    • 4.AI 智能作业与考试研判分析系统:开启精准教学新时代
    • 5.电脑工具箱TinyTools分享
    新人福利
    文章目录
    • N-blog
    • 开发环境
    • 目录
    • 意见
      反馈
    • 训练营训练营

    举报文章

    请选择举报类型

    内容侵权 涉嫌营销 内容抄袭 违法信息 其他

    具体原因

    包含不真实信息 涉及个人隐私

    原文链接(必填)

    补充说明

    0/200

    上传截图

    格式支持JPEG/PNG/JPG,图片不超过1.9M

    已经收到您得举报信息,我们会尽快审核
    • 赞
    • 收藏
    • 评论
    • 分享
    如有误判或任何疑问,可联系 「小助手微信:cto51cto」申诉及反馈。
    我知道了
    51CTO首页
    AI.x社区
    博客
    学堂
    精品班
    软考社区
    免费课
    企业培训
    鸿蒙开发者社区
    信创认证
    公众号矩阵
    移动端
    视频课 免费课 排行榜 短视频 直播课 软考学堂
    全部课程 软考 信创认证 华为认证 厂商认证 IT技术 PMP项目管理 免费题库
    在线学习
    文章 资源 问答 课堂 专栏 直播
    51CTO
    鸿蒙开发者社区
    51CTO技术栈
    51CTO官微
    51CTO学堂
    51CTO博客
    CTO训练营
    鸿蒙开发者社区订阅号
    51CTO软考
    51CTO学堂APP
    51CTO学堂企业版APP
    鸿蒙开发者社区视频号
    51CTO软考题库
    51CTO博客

    51CTO博客

    • 首页
    • 关注
    • 排行榜
    • 精品课程升职加薪
    • 免费资料领资料
    • 软考题库软考题库
      软考题库
      科目全、试题精、讲解专业,扫码免费刷
    • 搜索历史 清空
      热门搜索
      查看【 】的结果
    • 写文章
    • 创作中心
    • 登录注册
    51CTO博客

    Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号

    关于我们
    官方博客 全部文章 热门标签 班级博客
    了解我们 网站地图 意见反馈
    友情链接
    鸿蒙开发者社区 51CTO学堂
    51CTO 软考资讯