文章目录
  1. 1. 使用 coffeescript 的方法
  2. 2. 使用 cookieSession
  3. 3. 使用 sqlite3

昨天一时兴起尝试了一下用 nodejs 写一个极其简单的日记程序,web 框架使用了 express 。由于原先有使用 coffeescript 开发浏览器端js脚本的经验,所以就直接在程序里面使用 coffeescript 了。

使用 coffeescript 的方法

1
2
3
4
5
require("coffee-script");//导入coffeescript
var app = require("./appmodule").app;//导入appmodule.coffee文件中的app

app.listen(app.get('post'));
console.log('Listening on port ' + app.get('port'));

将上面的内容存成一个 app.js 文件,主要的脚本内容就写到 appmodule.coffee 里面,然后其它文件也可以使用 coffeescript 来写。

使用 cookieSession

1
2
3
4
5
6
7
8
9
10
11
12
app.configure ->
app.set "port", process.env.PORT or 3000
app.set "views", __dirname + "/views"
app.set "view engine", "jade"
app.use express.favicon()
app.use express.logger("dev")
app.use express.bodyParser()
app.use express.methodOverride()
app.use express.cookieParser('ipfqheprp') # 加载cookieParser
app.use express.cookieSession() # 加载cookieSession中间件
app.use app.router
app.use express.static(path.join(__dirname, "public"))

先加载cookieParser然后再加载cookieSession,然后在程序里面就可以通过

1
2
req.session.name = 'value' # 设置session内容
name = req.session.name # 读取name的值

使用 sqlite3

1
2
3
4
5
6
7
8
9
10
sqlite3 = require('sqlite3').verbose()
db = new sqlite3.Database './data.db'

db.serialize ->
db.get "SELECT * FROM table WHERE id=?", id, (err, row) ->
console.log row.id # get方法是获取查询到的第一条记录

db.all "SELECT * FROM table', (err, rows) ->
for r in rows
console.log r.id # 这里是取全部

用了 coffeescript 后语法跟python好像。

模板使用了 jade 写起来是挺简洁的,写doctype非常方便,几个字符就能表达出来。这个比直接写html的那么一大串好太多了。

文章目录
  1. 1. 使用 coffeescript 的方法
  2. 2. 使用 cookieSession
  3. 3. 使用 sqlite3