用node.js建博客(一) - node.js安装及Express框架简介

最近写博客频率有写频繁,很多时候像展示一些代码,不过javaeye好像不支持代码展示的功能. so... 催生了自己建个博客的想法.

之前也有考虑国 WordPress没, 不过还是感觉自己做一个比较有成就感.

 

关于采用markdown语法来写博客的想法,是从4月份shanghaiOnRails活动上得来的, 会上有个兄弟分享了用markdown语法创建静态博客的方法. 当时不太懂, 不过今天研究了研究,发现这个方式very cool.

 

ok` wordpress可以买php空间, 那自己写个博客app,架哪里? 是否有免费空间?

关于这个问题,需要感谢cxh116的这个帖子:《折腾Ruby or Java or Node.js没主机的可以玩Cloudfoundry》

 

有支持node.js的空间,并且for free!!! 这个让我眼前一亮, 虽然heroku可以部署rails, 但是感觉node.js这个新奇的技术更吸引我,今天打算采用node.js搭建一个基于markdown语法的博客:

1. 技术准备:

  1. node.js 写本文的时候我采用的版本是0.4.5, Win用户需要自行编译node.exe
  2. npm 类似Ruby中的RubyGems, node.js包依赖管理工具
  3. express 类似Ruby中的Sinatra, 一个简单的Web框架
  4. markdown.js node.js中的markdown解析器, 什么是markdown?? 用过GitHub的朋友应该知道,readme.md文件
  5. prettify.js google-code-prettify, 提供在线的语法高亮支持,支持语法包括C-like, Java, Python, shell等大多数语言。

2. 安装node.js

这里mac os比较有福,直接使用HomeBrew包管理工具就ok:

1. Mac OS:

$ brew install node
我用的是homebrew, 当让用macport也可以


2. Ubuntu:

用虚拟机装了一个 ubunt 10.04LTS, apt-get 装node有点问题, 版本好像还是 0.3。 看来最好的方式还是通过源码安装. 今天网络不行,改天补上.
3. Windows:
建议搞个linux虚拟机. 今天没win环境,改天去公司试试Win XP环境

3. 安装 npm

1. Unix/Linux:

$  curl http://npmjs.org/install.sh | sh
安装完成后
$ npm -v
看看是否安装成功

2. Windows:

代补充

4. node的express框架

如果你用过Ruby的Sinatra.rb, 会觉得Express非常熟悉。Express作者是参考sinatra, 写了一个基于node.js的实现。

1. 安装

由于这个有点特殊,需要为npm添加-g参数, 刚开始安装的时候没有加,导致不能使用epress 命令行参数
$ npm install -g express
$ epxress -v #看看是否安装成功

2. 创建一个express项目看看

$ express nodeblog
$ cd nodeblog

 3. express目录结构

Express 目录结构 t-1
目录/文件说明
./ 根目录,我们的node.js代码都会方这个目录
 package.json  npm依赖配置文件, 类似ruby中的Gemfile, java Maven中的pom.xml文件. 一会需要在这里添加 markdown-js 项目依赖
 app.js  项目的入口文件

 public/

javascript/

stylesheets/

images/

 存放静态资源文件, jquery/prettify.js等静态库会方这里,当然自己编写的前端代码也可以放这里
 views/   模板文件, express默认采用jade, 当然,你也可以使用自己喜欢的haml,JES, coffeeKup, jQueryTemplate等模板引擎
 node_modules/ 存放npm安装到本地依赖包,依赖包在package.json文件中声明,使用npm install指令安装








4. 运行程序看看

$ npm install

$ node app.js

访问http://localhost:3000/

 

我们看看app.js文件:

 

var express = require('express');

var app = module.exports = express.createServer();

// Express 程序配置
app.configure(function(){
  app.set('views', __dirname + '/views');
  app.set('view engine', 'jade');
  app.use(express.bodyParser());
  app.use(express.methodOverride());
  app.use(app.router);
  app.use(express.static(__dirname + '/public'));
});

// url路由
app.get('/', function(req, res){
  res.render('index', {
    title: 'Express'
  });
});

app.listen(3000);

 

 

下面代码将url渲染到 index.jade文件, 并且传递title参数:

 

app.get('/', function(req, res){
  res.render('index', {
    title: 'Express'
  });
});

 

  其中传递变量title, 在views/layout.jade文件中有定义, 我们这里将title改成"Node Blog":

 

app.get('/', function(req, res){
  res.render('index', {
    title: 'Node Blog'
  });
});

 

修改后效果如下所示:

到这里, Express 入门介绍就到这里,进一步内容需要看参考资料中的相关文档

4. 参考资料:

《将node.js应用上传到vmc平台》, 这是我前两天写的一篇, 关于如何将应用上传到vmc服务器,后面篇幅不会再做介绍。

P.S:
我勒个去的!! 还没写完呢就发布草稿了! 我只是想暂时存一下。
这样也好,把文章切分成多个主题来写。

本文的代码以添加到附件中:  nodeblog.zip

 

本系列其他文章:

从文件上传开始, 进入node.js的世界

将使用npm管理的node.js项目部署到vCloudLabs

用node.js建博客(一) - node.js安装及Express框架简介

Node.js + Express框架零基础教程笔记 Node.js + Express框架零基础教程笔记、Node.js、Express、框架、前端 阅读详情

相关推荐

Node.js | express 框架开篇

NodeJS的基础内容已经完结,现在开始要步入框架的学习了,本篇文章将初步去探索express这个框架,让我们开始吧! Express是基于 `Node.js` 平台,快速、开放、极简的 Web 开发框架。

前端之行,任重道远! 1万+

Google Code Prettify,代码高亮的JS库

一、code-prettify介绍 1.prettify.js是Google的一款代码高亮插件。 2.他又js代码和css代码构成,用来高亮显示HTML页面中的源代码。 3.支持:C, Java, Python, Bash, HTML, XML, Javascript, Makefiles, Ruby, PHP, Awk, Perl, Basic, Clojure, CSS, Dart, E

天马3798 1万+

Node.js Express与MongoDB博客系统开发实战

本文还有配套的精品资源,点击获取 简介:本项目采用Node.js及其Express框架,结合MongoDB非关系型数据库,构建一个基于RESTful API的Web博客服务。通过CRUD操作实现文章的发布、阅读、编辑和删除功能。项目强调了Node.js的异步I/O和事件驱动特性,以及MongoDB处理大规模、复杂数据集的能力,适合进行毕业设计等综合性开发任务。 1...

weixin_42575505的博客 1881

Node.js多人博客系统

Node.js多人博客系统 一些说明:这个项目,我前后大概用了两星期的时间才写完(其实没写完,还有很多功能可以添加)。作为一个实习上班党,还是挺艰辛的。经常,写着写着,看不懂前面的逻辑了或者忘了写到哪了,可能是比较累(懒)吧,有些地方的逻辑其实有一点乱。不过,大部分功能还是实现了的,作为一个后端开发,界面美化,用户体验什么的,还是emmmmm,有待商榷的。 目录 Node.js多人博客系统 ...

LitongZero的博客 3132

blog:基于nodejs +express+ mysql开发个人博客系统

本地环境 导入数据库文件 blog.sql 数据库账号密码修改 在 config目录下面的 db.js,自行修改即可 安装nodejs环境 自行下载 运行项目 进入blog目录下面 node ./bin/www 即可运行项目 访问 默认端口是3000,前台访问localhost:3000 ,后台localhost:3000/admin ,账号:admin 密码:admin 运行结果展示 前台界面 后台界面 ##有问题反馈 在使用中有任何问题,欢迎反馈给我,可以用以下联系方式跟我交流 邮件() QQ: 394703554

Nodejs+Express+MongoDB搭建个人博客源码

功能包括: 多人注册、登录、发表文章、登出、文章编辑与删除、存档、标签、分页、留言、用户个人主页、文章PV统计及留言统计、增加用户头像、 标题关键字查询(有限的正则查询)、转载功能、日志功能

express mysql搭建博客_NodeJs+Express+MYSQL 一篇良心博客

一. 战前准备1.操作环境操作系统:win64编辑器:VSCode最新浏览器:随便2.nodejshttps://nodejs.org/en/ 3.mysql 5.7https://dev.mysql.com/downloads/windows/ 4.安装安装完成nodejs和mysql的时候要确认指令只能正常在cmd输入node --versionmysql --version搞不定的去看看n...

weixin_39778668的博客 351

用nTopology五分钟生成三维Voronoi泡沫:节点式建模从原理到实操

多孔结构在增材制造与轻量化设计中应用广泛,其中Voronoi泡沫因其优异的缓冲吸能和比刚度表现备受关注。传统CAD建模需处理复杂布尔运算和网格修复,而隐式建模通过数学场描述几何体,将空间距离与密度分布转化为可视化节点,大幅降低操作门槛。nTopology基于场驱动与参数化逻辑,无需编写命令,即可实时调节胞元尺寸、壁厚及随机种子,快速生成可打印的泡沫实体。这种工作流适用于缓冲垫、医疗植入体、航空支架等场景,也为梯度密度结构与力学仿真验证提供了高效路径。本文围绕三维Voronoi泡沫的生成原理与节点操作流程,详

weixin_26767391的博客 146

node.js——express框架

Express 是一个流行的 Node.js 框架,为开发者提供了简洁的 API,用于处理 HTTP 请求、响应,以及管理中间件、路由和错误处理。Express 简化了构建 RESTful API、Web 应用程序和微服务的过程。快速开始Express 框架是构建 Node.js Web 应用程序的理想选择。它提供了强大且易于使用的工具,可以满足各种不同类型的 Web 开发需求。本期到此结束,关注我,我会继续写的!!

weixin_64916164的博客 5423

HWSD2.0土壤数据处理实战:从下载到属性提取全流程解析

本文详细解析了HWSD2.0全球土壤数据库从数据下载、属性筛选到GIS空间连接与提取的全流程实战方法。重点介绍了如何利用ArcGIS Pro等工具,将土壤单元编码与黏粒含量等属性表关联,最终生成全球土壤属性专题栅格图,为农业规划与生态研究提供关键数据支撑。

weixin_29214691的博客 610

别再只看图了!代谢组学OPLS-DA分析,R2Y和Q2Y到底怎么看才不踩坑?

本文深入解析代谢组学OPLS-DA分析中的关键指标R2Y和Q2Y,揭示如何避免过拟合陷阱。通过详细解读模型解释能力(R2Y)和预测能力(Q2Y),结合置换检验方法,提供完整的模型评估流程与实战建议,帮助研究者获得可靠的分析结果。

weixin_42638178的博客 195

node.js的Express框架的介绍 与 安装详细教程

node.js的Express框架介绍与安装详细教程

2301_76669854的博客 5493

【WorkBuddy专栏68】HY3绕路部署vsDS4直击根因——一次真实踩坑揭露两个AI模型的推理差距

【WorkBuddy专栏68】HY3绕路部署vsDS4直击根因——一次真实踩坑揭露两个AI模型的推理差距

AI人人懂 557

【Node.js实战】一文带你开发博客项目之初识Express(安装Express,处理路由,中间件机制)

本文对myblog项目进行了初步重构,介绍了Express框架的安装以及处理路由等基本使用...

HuoZhiyan 的博客 2826

微信小程序、H5微信公众号网页JSAPI:解决报错requestMerchantTransfer:fail:internal error(使用wx.requestMerchantTransfer错误)

如何解决requestMerchantTransfer:fail:internal error,微信小程序wx.requestMerchantTransfer报错,微信公众号H5网页使用jssdk调用wx.requestMerchantTransfer报错,JSAPI调起用户确认收款报错errMsg:“requestMerchantTransfer:fail:internal error“,微信小程序/H5 调起确认收款界面,JSAPI调起用户确认收款,微信公众号(H5),用户发起提现,商家转账给用户,用户

✅ 精选推荐文章 4962

【Unity 实用工具篇】✨| 受击插件Feel 详细教程,开发游戏时更好的操控 游戏打击感

在一个游戏中,游戏手感对于游戏的整体游玩体验是非常重要的,而游戏手感中有一个很重要的点:打击感 那本篇文章就来讲一下打击感中的受击反馈部分。 在游戏中经常会用到攻击敌人,敌人扣血,执行某些受击功能的执行,尤其是对于有战斗场景的游戏来说,这就是标准的受击反馈。 所以引出本篇文章的主角:受击插件 Feel 的使用,2D和3D游戏都可以使用。

努力前行,总会成为自己心中的那道光 3万+

Node.js开发入门—Express安装与使用

express安装,重写HelloWorld和HTTP文件服务器,了解express与http模块的不同

安晓辉生涯——聚焦程序员的职业规划与成长 3万+

【Bug已解决】codex: conversation context window exceeded / Token limit reached — CodeX CLI 上下文窗口超限解决方案

CodeX CLI 上下文窗口超限(context_length_exceeded)的解决方案,含开新会话、更大窗口模型、精简提示与限制工具输出。

博客 4180

Node.js的Express框架入门

Express 是一个基于 Node.js 平台的快速、无开销且极简的 web 开发框架,它提供了一系列强大的特性来帮助你构建 web 应用和 API。Express 使用 JavaScript 编写,运行在 Node.js 环境中,这意味着你可以使用 JavaScript 来编写整个应用,包括前端和后端。如果你已经安装了 Node 和 Express1.打开一个空文件夹2.在中打开终端创建package.json配置文件。

live_55368的博客 1712

手把手教你学pcie--(PCIe) 写请求的流程

通过上述流程,我们可以看到PCIe写请求的完整过程,包括请求的构建、发送、接收、处理和响应。这种请求-响应模型确保了数据传输的可靠性和有序性。

MHD0815的博客 158

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

node.js第三方Express 框架

1、Express 简介 2、Express 安装及使用 3.Express 安装 4.Nodemon‌的使用 5.Express 的使用

chengcheng9876的博客 1889

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

【Node.js】Express框架的基本使用

官方给出的概念:Express是基于Node.js平台,快捷,开放,极简的Web开发框架通俗的理解,Express的作用和Node.js内置的http模块类似,是专门用来创建Web服务器的。Express的本质:就是一个npm上的第三包,提供了快速创建Web服务器的便捷方法。express官网广义上来讲,路由就是映射关系。中间件,特指业务流程的中间处理环节。可以通过如下的方式,定义一个最简单的中间件函数//定义一个简单的中间件函数console.log('这是最简单的中间件函数');

m0_62360527的博客 5900

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Node.js Express 框架

Node.js Express 框架是一个轻量级、灵活且功能强大的 Web 应用框架,基于 Node.js 的 http 模块构建。它简化了路由管理、请求处理和中间件集成,广泛应用于中小型项目和 API 开发。Express 提供简洁的路由系统(支持参数和查询)、中间件机制(日志、认证等)、模板引擎支持(如 EJS)和静态文件服务。通过模块化设计和丰富的生态(如 morgan、cors),Express 能快速构建高效、可扩展的 Web 服务。安装简单(npm install express),示例代码展示

m0_57545130的博客 1230
上一篇: 从文件上传开始, 进入node.js的世界
下一篇: 用node.js建博客(二) - 构建第一个markdown页面
lvjian700
博客等级 码龄15年 14粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值