提起node.js,很多人可能以为它就是一种类似于javascript的脚本语言。其实不然,它只是一种js的运行平台,使用事件驱动、非阻塞I/O模型,具有轻量和高效的特点使得它非常适用于分布式设备上。
node.js的安装可参考以下网址进行安装:
http://www.runoob.com/nodejs/nodejs-install-setup.html
console.log('hello world!');
在该文件路径下打开命令行窗口,输入以下命令:
node demo1.js(这里是文件的名字)
就可以看到如下输入结果,到此说明你的node.js的安装已经完成。
$ node demo1.js
hello world!
express是目前比较好的node.js的框架,使用它可以快速搭建项目,从而更快完成项目开发。
在指定的文件夹下,打开命令行窗口,键入下面命令即可完成express的安装。
$ npm install express -g
然后你就可以使用命令express -e demo1(这里是你的项目名字)
初始化一个项目,它可以给你快速搭建项目,自动创建对应文件夹,文件夹结构如下:
$ express -e demo1
create : demo1
create : demo1/package.json
create : demo1/app.js
create : demo1/public
create : demo1/public/javascripts
create : demo1/public/images
create : demo1/routes
create : demo1/routes/index.js
create : demo1/routes/users.js
create : demo1/public/stylesheets
create : demo1/public/stylesheets/style.css
create : demo1/views
create : demo1/views/index.jade
create : demo1/views/layout.jade
create : demo1/views/error.jade
create : demo1/bin
create : demo1/bin/www
然后,安装所有项目必须的依赖包
$ cd demo1
$ npm install
最后,启动项目
$ node app.js
在浏览器中输入地址:http://localhost:3000 就可以看到你自己新建的项目了。
mongoose是一个让node.js操作mongodb更见简单方便,主要包括Schema和model两个大模块。
在安装mongoose之前,请确认已经安装mongodb。再以上操作步骤完成之后,使用下面的命令安装mongoose
$ npm install mongoose
在上面的所有开发环境都准备好了,接下来,就是个实际的例子,希望对你有所帮助。
var express = require('express')
var mongoose = require('mongoose')
var app = express()
mongoose.connect('mongodb://localhost/test')
app.set('port',3000)
app.listen(port)
var schema = new mongoose.Schema({ name: 'string', age: 'number' })
var Person = mongoose.model('Person', schema)
//插入数据
var person = new Person({name: 'tom'})
person.save(function(err){
if(err){
console.log(err)
}else{
console.log('save success.')
}
})
//查找数据
Person.find({name:'tom'},function(err,doc){
if(err) console.log(err)
else console.log('find success,the information of tom is :' + doc)
})
//更新数据
Person.findOne({name:'tom'},function(err,doc){
if(err) console.log(err)
else{
doc.set({age:24})
doc.save()
}
})
//删除数据
Person.Remove({name:'tom'},function(err){
if(err) console.log(err)
else console.log('remove success.')
})
之所以跟上面分开来讲,并不是用法有是那么不同,只是这个案例会将项目模块化,这样一来,项目便有了更强的可读性。
var mongoose = require('mongoose')
var Schema = mongoose.Schema
var personSchema = new Schema({
name: String,
sex: String,
work: String,
birthday: { type: Date, default: Date.now },
hidden: Boolean,
meta: {
createDate: Number,
updateDate: Number
}
})
module.exports = personSchema
var mongoose = require('mongoose');
var blogSchema = require('../schemas/blogSchema.js');
var Blog = mongoose.model('Blog',blogSchema);
module.exports = Blog;
var express = require('express')
var path = require('path')
var mongoose = require('mongoose')
var app = express()
var Person = require('./models/personModel.js')
mongoose.connect('mongodb://localhost/Movie');
//设置端口号
var port = process.env.PORT || 3000;
app.set('views','./views/page');
app.set('view engine','jade');
app.use(express.static(path.join(__dirname,'bower_components')));
app.set('port',3000);
app.listen(port);
console.log("app start at " + port);
//index page
app.get('/index',function(req,res){
//数据库增、删、改、查操作
});
//detail page
app.get('/detail',function(req,res){
//some action
});
//list page
app.get('/list',function(req,res){
//some action
});
//admin page
app.get('/admin',function(req,res){
//some action
});
就写到这里了,希望对大家有帮助。ps:各位观众老爷们,看完点个赞,全部一个字一个字打上去的。