Skip to content

lark.js 入门指南

Xu,Yizhi edited this page Jul 28, 2015 · 17 revisions

前言

本文针对想从零开始开发 lark.js 程序的初学者。阅读本文并动手实现demo代码后,您就能对lark.js框架有一个基本了解,并可以开始动手写代码了。不过推荐您在使用 lark.js 前最好能有一点 node.js 或其它后端语言的开发经验,这样能够达到事半功倍的效果。

lark.js 是什么

Lark.js 是一个面向大并发大流量互联网服务的工业级 Node.js 框架[ 1 ]。它是从一个 10亿级以上 pv 的线上node.js服务抽象出来的一个通用框架。

这里需要注意的是,lark.js 并不是为快速开发设计的框架。lark.js 在设计上采用了路由,分层架构等拆分很细的设计,并且没有像 djangoror 一样自己实现一整套完整系统。这些不是lark.js 的重点关注目标。lark.js 的目标是支撑大流量大并发的业务,性能、多人开发模式、架构和可维护性是关注重点。

安装 lark.js

首先需要注意的是,由于lark.js使用了node.js里面的新语法和新特性,因此需要 v0.11.14 以上版本的 Node.js才能运行。

Linux 和 Mac OS平台安装:

如果你已经有了node.js环境(并且版本号大于v0.11.14),那么安装 lark 只需要一句命令

npm install lark -g

如果你没有安装node.js环境,那么需要先安装node.js。下载链接如下:

http://nodejs.org/dist/v0.11.15/node-v0.11.15-linux-x64.tar.gz (linux) http://nodejs.org/dist/v0.11.15/node-v0.11.15-darwin-x64.tar.gz (Mac OS X)

Windows 平台安装:

http://nodejs.org/dist/v0.11.15/node.exe (windows)

新建一个lark.js 程序

Lark 借鉴 Ruby On Rails 的思想,精心设计了各种各样的命令行功能来加速开发。 新建一个 demo 程序,只需在命令行中执行如下命令:

lark new demo

然后您按提示选择您业务相关的配置就行了。 lark 的这个功能是通过 yeoman 实现的。如果您对 yeoman 熟悉,可以通过它自定义更多高级功能。

编写 demo 的业务逻辑

在创建完demo程序后,我们开始编写一个简单的业务。假设我们的任务是用户访问网站首页,页面输出 hello world.可以通过如下步骤完成:

(1)首先我们创建首页的路由

lark create controller demo

通过该命令lark会自动创建controller/demo/index.js模块,并且其路由路径为/demo。关于路由和下面涉及到的pageService都和 lark.js 的分层思想有关。这个是大型复杂 web service 开发中最常用到的设计模式。后续文档会详细介绍,这里有个印象就好了。

(2)然后我们创建相关的业务逻辑

lark create page demo

(tip:此时可能提示models/pageService/demo.js这个文件已经存在,那是因为lark new demo时自动创建了此文件。按y覆盖掉即可)

如上所述,pageService和lark.js的分层思想有关,这里先不理会。lark.js 会自动创建 pageService 的代码。我们打开lark.js自动创建好的代码 models/pageService/demo.js,然后将示例代码修改为如下代码:

demo.render = function * () {
    return 'hello world!'
}

(3)最后我们把业务逻辑和路由绑定在一起

打开 controllers/demo/index.js, 确保里面的代码如下:

module.exports = function * (next) {
    this.body = yield this.pageServices.demo.render();
    yield next;
}

到这里,整个 demo 就编写完了。

运行该程序

lark.js 集成了开发模式和线上生产模式。开发模式中除了集成了debug日志功能,而且还有热重启(live reload),前端代码压缩打包,代码风格检查(jshint)等功能。而生产模式则是为性能做了优化,加上了防攻击策略,已及去掉了所有开发模式特有的功能。lark通过简单的命令就可以在两个不同模式间切换。在开发中最简单的方式是执行如下命令:

lark start

默认情况下,执行该命令会自动切换到开发模式。

你现在可以在http://localhost:3000/demo上查看效果。如果一切正常,你会看到非常熟悉的'hello world'几个字。

进一步深入学习 lark.js

接下来,会进一步深入的介绍lark.js,相信你很快就能熟知使用lark开发的方式。

推荐书籍

深入浅出node.js - by 朴灵