Node.js和Geddy初学者指南(第一部分) |
发布时间: 2012/5/25 19:39:16 |
在这个包含3个部分的教程中,我们将帮助大家从头了解Node.js和Geddy,并且开发一个to-do list的管理程序。我们将介绍如何安装Node.js到windows和OS X,及其Geddy,并且生成我们第一个应用。 Node是什么? 如果你开发了web应用很多年的话,你可能已经知道了Node.js。如果你不知道的话,这里我们将简单的说明一下: “Node.js是一个基于Chrome javascript runtime的平台,可以很简单的创建基于服务器端的javascript应用。Node.js使用事件驱动,非阻塞的I/O模型,特别适合开发实时的应用。” Geddy是什么? Geddy是一个非常简单的基于Node.js的结构化MVC框架。你可以使用它快速的构建web应用和JSON API。如果你使用过Ruby on Rails或者PHP的codelgniter,那么Geddy和他们非常类似。它拥有一个RESTful的router,模板渲染,控制器和模型。非常适合快速开发! 安装Node.js Node.js可以在windows,OS X和Linux上运行。我们将介绍如何在windows和OS X上安装配置。如果你使用Linux,那么你需要自己查看文档配置。 首先我们需要访问Node.js的主站:http://nodejs.org,然后点击下载。找到你的OS对应的installer的link。如果你使用windows,你可能需要重启你的电脑来添加‘node’命令到你的环境变量Path中。 现在你应该已经安装了Node和安装包管理器,即npm(Node package Manager)。 使用npm来安装Geddy Node拥有非常不错的安装包管理器 。叫做npm,截止我们这篇文章,包含了8000多个安装包。你可以查看http://toolbox.no.de来寻找你喜欢的安装。对于这个教程来说,我们使用npm来安装Geddy(我们框架)和Jake(Geddy用户的编译工具)。 Jake是Node.js的javascript编译工具。 1.打开你的终端,例如windows上的command.exe 2.输入 npm install -g geddy jake Ok,搞定了,现在你已经安装Geddy了,接下来我们看看如何生成我们第一个应用。 生成一个Geddy应用 Geddy使用一个全局执行方式来生成apps和资源,并且启动你的app服务器。 这都将使用命令行,因此,打开你的终端。在生成应用前,我们需要先‘cd’到一个目录来保存应用。例如: cd path/gbin1/code 下一步,我们使用geddy来生成我们的应用结构。我们创建to-do 应用,例如,这里我们起名 todo-app: geddy app todo_app 搞定!那么我们都生成了什么呢? 生成的应用的概况 如果你查看了创建的todo_app,你将看到生成了如下代码,结构如下: 1.app/ 1.1controllers/ 1.2models/ 1.3views/ 2.config/ 3.lib/ 4.log/ 5.node_modules/ 6.public/ 我们来解释一下: app:这是大多数文件生成的地方。你的应用逻辑基本将会包含在这三个目录之一。 app/controller:所有你的应用的控制器(controller)。你将可能看到这里俩个控制文件application.js(所有的控制器都继承这个)和main.js(你的route绑定到app/views/main/index.html.ejs模板的控制器)。 app/models:用来保存model的地方 - 现在这里没有,以后我们会添加一个。 app/views:所有的app的模板位置。你可以看到application.html.ejs文件在layouts目录-这个文件是你的应用的主模板,所有的前端封装代码都通过这里。你应该同时包含一个index.html.ejs文件在main目录。这是当你点击/route后主控制器的index活动用来渲染的文件。 config:配置文件所在位置。你应该有development.js,production.js,environment.js,router.js和init.js文件。其中init.js文件是在请求到达之前应用开始启动时调用。通常用来添加app类型全局的功能或者资源属性。route.js用来创建应用URL对应的活动action。对于全局设定,你需要编辑environment.js。如果是产品和开发设定,你编辑对应的config文件。 lib:这里放置你需要的任何文件 log:所有的log文件都在这里。当你启动你的应用后,你应该有一个acces.log,stdout.log和stderr.log文件。 node_modules:这是所有安装的module位置。可以理解放置其它人的代码的目录。 public: 最后,这是所有你的前端相关东西放置的目录。所有你的CSS,图片和前端js。你会看到Twitter的boostrap和jQuery预先安装了。 本文出自:亿恩科技【www.enkj.com】 |