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

      

Koa2 的安装运行记录(一)的更多相关文章

  1. Koa2 的安装运行记录(二)

    参考 :koa2-boilerplate    https://github.com/superalsrk/koa2-boilerplate Ajax Login and Ajax Logout in ...

  2. koa2的安装

    参考: https://www.jianshu.com/p/6b816c609669 1.1 安装koa-generator 在终端输入: $ npm install -g koa-generator ...

  3. koa2,koa1框架安装

    koa2版本安装: npm install koa@ -g hello2.js var Koa = require('koa'); var app = new Koa(); app.use(ctx = ...

  4. Nodejs学习笔记(十五)--- Node.js + Koa2 构建网站简单示例

    目录 前言 搭建项目及其它准备工作 创建数据库 创建Koa2项目 安装项目其它需要包 清除冗余文件并重新规划项目目录 配置文件 规划示例路由,并新建相关文件 实现数据访问和业务逻辑相关方法 编写mys ...

  5. [转]Nodejs学习笔记(十五)--- Node.js + Koa2 构建网站简单示例

    本文转自:https://www.cnblogs.com/zhongweiv/p/nodejs_koa2_webapp.html 目录 前言 搭建项目及其它准备工作 创建数据库 创建Koa2项目 安装 ...

  6. Nodejs学习笔记(十五)—Node.js + Koa2 构建网站简单示例

    前言 前面一有写到一篇Node.js+Express构建网站简单示例:http://www.cnblogs.com/zhongweiv/p/nodejs_express_webapp.html 这篇还 ...

  7. koa2源码解读

    最近在复习node的基础知识,于是看了看koa2的源码,写此文分享一下包括了Koa2的使用.中间件及上下文对象的大致实现原理. koa的github地址:https://github.com/koaj ...

  8. koa2 从入门到进阶之路 (一)

    首先我们先来了解一下 Koa 是什么,https://koa.bootcss.com/,这是 Koa 的官方网站,映入眼帘的第一句就是 Koa -- 基于 Node.js 平台的下一代 web 开发框 ...

  9. Koa2学习(一)环境搭建

    Koa2学习(一)环境搭建 koa2脚手架 koa2服务安装 koa2-generator目录结构 什么是 Koa2 koa 是由 Express 原班人马打造的,致力于成为一个更小.更富有表现力.更 ...

随机推荐

  1. LeetCode:Merge k Sorted Lists

    题目链接 Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexi ...

  2. Matlab2015基本语句语法04

    1. 输入.输出.格式化输出 1) 读入数据:input >>number: num=input('Give me your number: '); >>string: str ...

  3. RPC

    那是N年前的一天,老王在看一本讲java的技术书(可惜忘了叫啥名字了),突然看到有一章讲RMI的,立马就觉得很好奇.于是乎,就按书上所讲,写了demo程序.当时也就只知道怎么用,却不知道什么原理.直到 ...

  4. php面向对象编程(三)

    <? class Person { // 下面是人的成员属性 var $name; // 人的名子 var $sex; // 人的性别 var $age; // 人的年龄 // 定义一个构造方法 ...

  5. linux-ntpdate同步更新时间

    Linux服务器运行久时,系统时间就会存在一定的误差,一般情况下可以使用date命令进行时间设置,但在做数据库集群分片等操作时对多台机器的时间差是有要求的,此时就需要使用ntpdate进行时间同步 安 ...

  6. 理解javascript this指向

    匿名函数中的this指向window对象 这句话很经典: 每个函数在调用时,其活动对象都会自动获取两个特殊的变量:this和arguments.内部函数在搜索这两个变量时,只会搜到其活动对象为止,因此 ...

  7. RFID-RC522、FM1702SL、M1卡初探

    catalogue . 引言 . RC522芯片(读卡器)简介 . FM1702SL芯片(读卡器)简介 . RFID M1卡简介 . 读取ID/序列号(arduino uno.MFRC522芯片 Ba ...

  8. Character类

    Character类 用来判断大小写 方法: public static boolean isUpperCase(char ch):判断是否大写 public static boolean isLow ...

  9. Python Day6

    面向对象 概述 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发"更快更好更强...&qu ...

  10. Hive 字符串操作[转]

    1. 字符串长度函数:length 语法: length(string A) 返回值: int 说明:返回字符串A的长度 举例: hive> select length('abcedfg') f ...