1、参考koa+react(一)
http://blog.suzper.com/2016/10/19/koa-react-%E4%B8%80/
为了使用 KOA2 能够运行,必须能够使用ES7语法 async/await 能够编译,需要借用 babel 的能力。使用最新版本 V6。
1、安装Node (V6或者V7)创建一个项目目录
md koa2pro , cd koa2pro ; 初始化 node ini 产生一个 package.json 文件
2、安装 koa2包: npm install --save koa@next
3、babel V6 必须安装下列包:
npm install --save-dev babel-core babel-register babel-polyfill
npm install --save-dev react 后面要使用,先安装上。
配置 babel 参数:
使用一个 .babelrc 文件,增加下列配置项:latest 设置 = es2015 + ea2016 + es2017 三者之和。
{
"presets": ["latest", "react"]
}
4、建立两个启动文件:
index.js
-----------------------------
require("babel-register");
require("babel-polyfill"); //引入这个文件babel-polyfill很重要,否则出现错误
require("./main.js");
main.js
-----------------------------
import Koa from 'koa';
const app = new Koa();
app.use(async (ctx, next) => {
const start = new Date();
await next();
const ms = new Date() - start;
console.log(`${ctx.method} ${ctx.url} - ${ms}ms`);
});
// response
app.use((ctx) => {
ctx.body = 'Hello Koa in app-async.js';
});
app.listen(3000); 或者 app.listen(3000, () => console.log('系统启动,端口:3000'))
console.log("系统启动,端口:3000");
=============================
使用: node index.js 可以运行了。 这种方式,不能看到编译后的代码。
5、使用命令行方式:
如果想使用命令行编译(不是自动编译),可以安装 :
npm install --save-dev babel-cli
然后在package.json 中加上:
"scripts": {
"build": "babel src -d lib"
},
需要建立两个目录 src 源代码目录,lib 编译后代码目录。将上面的两个文件 index.js main.js 移动至 src目录。
使用: npm run build 命令行,就可以在 lib 下看到编译成果了。
两种代码都可以运行了: node src\index.js 或者 node lib\index.js
6、继续安装 nodemon
npm install -g nodemon 全局安装
现在可以使用 nodemon 起动 : nodemon
它会在 package.json 中寻找 "main": "./lib/index.js" 项中配置。作为启动文件。
7、其它;;;
如果 配置 babel 参数,在.babelrc 文件 。
{
"presets": ["es2015", "react"]
}
在Node7 下,必须使用 node --harmony index.js 才能使用代码中的: async/await