安装koa:
终端输入:npm install koa --registry=https://registry.npm.taobao.org
运行:当前文件夹下,node 文件名//在同一文件夹下
上代码:
var koa=require('koa');
var app=koa();//Koa应用
app.use(function*(){
this.body='hello world'//向body输入内容,就可以在服务里启动了
})
app.listen(3500);//监听3500端口
//终端打开:user@localhost:~/nodejs/koa$ node server.js
//注意:js文件需与koa文件在同一文件下,才能找到
安装:路由 :npm install koa-router
//使用
var koa = require('koa');
var koaRouter = require('koa-router');
var port = 3000;
//application 应用
var app = koa();
var router = koaRouter();
router.get('/', function *(){
this.body = 'home';
});
router.get('/about', function *(){
this.body = 'aoubt';
});
//参数说明: 生成器函数 访问回调函数
// app.use(function*(){
// this.body = 'hello world';
// });
app.use( router.routes() );
app.listen(port);
console.log( 'your app is runing on '+port );
安装:模板引擎.
npm install co-views
npm install swig //是语言类型
var koa = require('koa');
var router = require('koa-router')();
var views = require('co-views');
var render = views('./templates', {//templates 要打开的文件路径
map: { html: 'swig' } //使用的语法
});
var port = 3000;
var app = koa();
router.get('/', function *(){
var html = yield render( 'index.html', { //模板文件名称
pagename: 'awesome',
subTitle: 'people',
authors: ['Paul', 'Jim', 'Jane', 'aaaa', 'bbbb', 'cccc']//变量名
} )
console.log(html);
this.body = html;
});
app.use( router.routes() );
app.listen( port );
console.log( 'your app is runing on '+ port );
模板文件
<h1>{{ title }}</h1>
<p>link</p>
<ul>
{%for author in authors %}//数组定义的authors ;author 代表里面的每一项
<li {%if loop.first%} class="first" {%endif%}>
{{author}}
</li>
{%endfor%}
</ul>
模板的继承
一个公用文件
其他文件相同部分,可以继承
{%extends ' 继承的文件名'%}
{% block content %}
{%parent%}//继承公共部分
{%endblock%}
**安装静态文件提供中间件 **
命令:npm install koa-static
使用:
var serve = require('koa-static');
var koa = require('koa');
var app = new koa();
// $ GET /package.json
app.use(serve('.'));//设置静态文件路径
// $ GET /hello.txt
app.use(serve('test/fixtures'));
// or use absolute paths
app.use(serve(__dirname + '/test/fixtures'));
app.listen(3000);//监听端口
console.log('listening on port 3000');
必须在router.routes()之前
安装koa-logger
$ npm install koa-logger
使用:
var logger = require('koa-logger')
var koa = require('koa')
var app = koa()
app.use(logger())
安装 co-body
$ npm install co-body
使用:
var parse = require('co-body');
// application/json
var body = yield parse.json(this);//获取类型
// application/x-www-form-urlencoded
var body = yield parse.form(this);//获取用户输入的用户名,密码
// text/plain
var body = yield parse.text(this);//获取文字
// either
var body = yield parse(this);
server.js
var config = {
port: 3000,//端口
viewPath: './views',//模板路径
staticPath: './static',//静态文件路径
};
var koa = require('koa');
var router = require('koa-router')();
var staticServe = require('koa-static');
var views = require('co-views');
var render = views(config.viewPath,{
map: { 'html': 'swig' }
});
var app = koa();
//index page
router.get('/', function*(){
this.body = yield render('about.html');
});
//经历界面
router.get('/experience', function*(){//'/experience 是匹配下面函数的路径
this.body = yield render('experience.html');
});
//教育界面
router.get('/education', function*(){
this.body = yield render('education.html');
});
//技能界面
router.get('/skill', function*(){
this.body = yield render('skill.html');
});
//项目界面
router.get('/project', function*(){
this.body = yield render('project.html');
});
//联系界面
router.get('/contact', function*(){
this.body = yield render('contact.html');
});
app.use( staticServe(config.staticPath) );
app.use( router.routes() );
app.listen(config.port);
console.log('your app is runing on '+ config.port);