最近写博客频率有写频繁,很多时候像展示一些代码,不过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
分享到:
相关推荐
使用Node.js开发时,开发者可以利用其丰富的生态系统,通过`npm`安装各种库和框架,如Express.js(Web应用框架)、React.js(前端库)和MongoDB(NoSQL数据库驱动)等。此外,Node.js的异步特性使其在处理I/O密集型...
Node.js 是一个强大的开源开发平台,它允许开发者使用 JavaScript 编程语言进行服务器端编程,打破了 JavaScript 仅限于浏览器的局限。这个标题 "node-v16.20.0-darwin-x64.tar.gz" 提供了关于 Node.js 版本和操作...
安装这个版本的 Node.js,用户可以通过运行 `node.exe` 来执行 JavaScript 代码,使用 `npm` 安装和管理各种依赖包。对于开发者而言,Node.js 具备强大的生态系统,拥有丰富的第三方库,如 Express(用于构建 web ...
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,它允许开发者在服务器端使用 JavaScript 进行编程。这个"node-v21.0.0-linux-x64.tar.gz"文件是 Node.js 的特定版本(v21.0.0)针对64位 Linux 操作系统...
Node.js 是一个强大的开源开发平台,它允许开发者使用 JavaScript 编程语言在服务器端执行代码。这个“node-v18.2.0-win-x64.zip”文件是 Node.js 的一个特定版本,针对Windows 64位操作系统。在这个版本中,用户...
Node.js由于其非阻塞I/O特性,使得它在构建高性能的API和实时应用时表现出色,例如使用Express.js或Koa.js等框架。 **使用步骤** 1. 下载并解压:首先,用户需要下载"node-v16.14.0-darwin-x64.tar.gz",然后使用...
Node.js是一种基于Chrome V8引擎的JavaScript运行环境,它允许开发者在服务器端使用JavaScript编写应用程序,打破了JavaScript只能在浏览器环境中运行的传统。标题“node-v16.14.0-win-x64”指的是Node.js的特定版本...
书中还将涉及Express框架的使用,Express是Node.js中最流行的Web应用框架,它简化了路由设置、中间件使用和模板引擎等常见任务。通过Express,开发者可以快速搭建功能齐全的Web服务。 数据库连接也是Node.js开发中...
Node.js是一个开放源代码、跨平台的JavaScript运行环境,它允许开发者在服务器端运行JavaScript代码,极大地拓展了JavaScript的应用领域。这个版本号揭示了这是2022年的一个稳定版本,因为Node.js遵循奇数版本为主...
同时,开发者还可以利用Node.js的模块系统和强大的第三方库,如Express.js(web框架)、MongoDB(NoSQL数据库驱动)等,构建复杂的后端服务。 总结来说,Node.js v14.15.0 LTS是Windows x64用户的理想选择,其稳定...
Node.js 是一个开源的、跨平台的 JavaScript 运行环境,它允许开发者在服务器端运行 JavaScript 代码。这个“node.js-for-windows-32位及64位”压缩包包含了适用于Windows操作系统32位和64位系统的Node.js安装文件,...
Node.js是一款基于Chrome V8引擎的JavaScript运行环境,它允许开发者在服务器端使用JavaScript进行编程。这个“node.js双击安装包--windows64位”是专为64位Windows操作系统设计的安装程序,旨在方便用户快速、简便...
开发者可以利用Node.js的特性,如Express框架构建Web应用,使用MongoDB或MySQL进行数据存储,通过WebSocket实现双向通信,使用Gulp或Webpack进行构建自动化,以及通过TypeScript或Babel进行语言扩展和转换。...
在本教程中,我们将深入探讨如何使用Node.js技术来搭建一个功能完备的博客系统。Node.js是一个基于Chrome V8引擎的JavaScript运行环境,以其非阻塞I/O模型和高效的事件驱动而闻名,非常适合构建高性能的网络应用,如...
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,它让开发者能够在服务器端使用 JavaScript 进行编程,极大地推动了全栈开发的流行。标题中的 "node-v12.18.0-x64.msi" 指的是 Node.js 的一个特定版本,...
Node.js 是一个开源、跨平台的 JavaScript 运行环境,它允许开发者在服务器端运行 JavaScript 代码。Node.js 的版本管理对于开发工作至关重要,因为不同的项目可能依赖于不同版本的 Node.js。"node-v14.17.6-x64.zip...
Node.js的生态系统庞大且活跃,提供了无数的开源项目和工具,如Express.js(一个快速、开放、极简的Web应用框架),React Native(用于构建原生移动应用的JavaScript框架),以及MongoDB驱动(用于与MongoDB数据库...
Express框架是Node.js后端开发的常用选择,它提供了简单易用的API,用于快速搭建RESTful API服务。此外,数据库连接库如Mongoose(用于MongoDB)、Sequelize(用于SQL数据库)等,也让数据操作变得简单。 总结,Node.js...