最近写博客频率有写频繁,很多时候像展示一些代码,不过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. 技术准备:
-
node.js 写本文的时候我采用的版本是0.4.5, Win用户需要自行编译node.exe
-
npm 类似Ruby中的RubyGems, node.js包依赖管理工具
- express 类似Ruby中的Sinatra, 一个简单的Web框架
- markdown.js node.js中的markdown解析器, 什么是markdown?? 用过GitHub的朋友应该知道,readme.md文件
- 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. 参考资料:
P.S:
我勒个去的!! 还没写完呢就发布草稿了! 我只是想暂时存一下。
这样也好,把文章切分成多个主题来写。
本系列其他文章:
- 大小: 16.8 KB
- 大小: 61 KB
- 大小: 28.7 KB
分享到:
相关推荐
第1章 初识 Node.js.ppt 第2章 Javascript基础.ppt ...第10章 Express框架.ppt 第11章 socket.io 模块.ppt 第12章 MongoDb数据库.ppt 第13章 综合项目——全栈开发博客网.ppt 第14章 课程设计——网络版五子棋.ppt
Express 是一个简洁而快速的 node.js Web开发框架, 提供一系列强大特性帮助你创建各种Web应用。Express 不对 node.js 已有的特性进行二次抽象,我们只是在它之上扩展了Web应用所需的功能。
先决条件: 安装节点打开 Node.js 命令提示符,然后全局安装名为 express 的 Web 应用程序框架(-g 选项),而不是特定于您的项目npm install –g express-generator 安装 Nodemon,Nodemon 是一个实用程序,它将...
5.1.2 Express框架 83 5.2 快速开始 84 5.2.1 安装Express 84 5.2.2 建立工程 85 5.2.3 启动服务器 86 5.2.4 工程的结构 87 5.3 路由控制 89 5.3.1 工作原理 89 5.3.2 创建路由规则 92 5.3.3 ...
这是一个用Node Express框架搭建的博客环境
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,...学生签到系统采用express框架的node.js后台源码+项目说明.zip
适用于SPA的SSO(单点登录)实践,express框架基础上,使用redis作为session的store
《Node.js入门到精通》--源代码(2015.09.04) 1.Node.js学习必备; 2.MongoDB学习必备; 3.Mongoose学习必备; 4.Express框架学习必备
Back.js : Node.js的 MVC框架。采用Typescript编写并构建在Express.js之上。
第一部分(第16章)讲解了两个综合案例,如何结合使用Node.js与Socket.IO类库制作一个聊天室应用程序的服务器端及客户端,以及如何结合使用Node.js与Express框架制作一个Web应用程序的服务器端及客户端。 第二部分...
Node.js是一套用来编写高性能网络服务器的JavaScript工具包,Node.js入门经典采用直观、循序渐进的方法对如何使用Node.js来开发及具速度和可扩展性优势的服务器端应用程序进行了讲解。 《Node.js入门经典》分为6...
单元测试由Mocha模块提供支持,进行单元测试请在终端中执行以下命令:mocha 测试用例.test.js运行运行博客,请在配置好Node.js与Express框架及其他模块后,执行以下命令:npm start bin/www或者你也可以使用Forver...
NodeJs 实战——原生 NodeJS 轻仿 Express 框架从需求到实现
安装和使用Node.js 14和Express 4.17进行Web开发和部署 使用Restify框架实施REST服务 使用Kubernetes和Node.js开发,测试和部署微服务 快速使用MySQL,SQLite3和MongoDB等数据存储引擎 使用Puppeteer进行无头浏览器...
《Node.js项目实践-构建可扩展的web应用》--全套源代码(2015.09.04) 1.Node.js学习必备; 2.MongoDB学习必备; 3.Mongoose学习必备; 4.Express框架学习必备
自学nodejs以后,一直考虑写一个Nodejs项目,但苦于没有找到合适的类型,而且后台系统无法直观的感受...刚好前一段时间准备在公司推vue,用vue重构了后台系统的一部分业务,vue前端项目,便以此为契机构筑了后台系统。
说明:此资源是为了方便大家更快的安装node.js,如果需要其他版本请去官网 https://nodejs.org/en/下载,在此提供一个最新版的node.js 安装包,把我的学习和使用经验进行归纳总结,希望给新入门Nodejs的同学做一些...
第三部分(第16章)讲解了两个综合案例,如何结合使用Node.js与Socket.IO类库制作一个聊天室应用程序的服务器端及客户端,以及如何结合使用Node.js与Express框架制作一个Web应用程序的服务器端及客户端。
主要使用express框架及node.js搭建服务端,数据存储至MySQL数据库中。文件包括:node_modules模块,dbsave.js数据存储模块(请求数据库),Server.sql,index.js为http请求接口文件,以及package.json、package-lock...