Koa2 的安装运行记录(一)
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 的安装运行记录(一)的更多相关文章
- Koa2 的安装运行记录(二)
参考 :koa2-boilerplate https://github.com/superalsrk/koa2-boilerplate Ajax Login and Ajax Logout in ...
- koa2的安装
参考: https://www.jianshu.com/p/6b816c609669 1.1 安装koa-generator 在终端输入: $ npm install -g koa-generator ...
- koa2,koa1框架安装
koa2版本安装: npm install koa@ -g hello2.js var Koa = require('koa'); var app = new Koa(); app.use(ctx = ...
- Nodejs学习笔记(十五)--- Node.js + Koa2 构建网站简单示例
目录 前言 搭建项目及其它准备工作 创建数据库 创建Koa2项目 安装项目其它需要包 清除冗余文件并重新规划项目目录 配置文件 规划示例路由,并新建相关文件 实现数据访问和业务逻辑相关方法 编写mys ...
- [转]Nodejs学习笔记(十五)--- Node.js + Koa2 构建网站简单示例
本文转自:https://www.cnblogs.com/zhongweiv/p/nodejs_koa2_webapp.html 目录 前言 搭建项目及其它准备工作 创建数据库 创建Koa2项目 安装 ...
- Nodejs学习笔记(十五)—Node.js + Koa2 构建网站简单示例
前言 前面一有写到一篇Node.js+Express构建网站简单示例:http://www.cnblogs.com/zhongweiv/p/nodejs_express_webapp.html 这篇还 ...
- koa2源码解读
最近在复习node的基础知识,于是看了看koa2的源码,写此文分享一下包括了Koa2的使用.中间件及上下文对象的大致实现原理. koa的github地址:https://github.com/koaj ...
- koa2 从入门到进阶之路 (一)
首先我们先来了解一下 Koa 是什么,https://koa.bootcss.com/,这是 Koa 的官方网站,映入眼帘的第一句就是 Koa -- 基于 Node.js 平台的下一代 web 开发框 ...
- Koa2学习(一)环境搭建
Koa2学习(一)环境搭建 koa2脚手架 koa2服务安装 koa2-generator目录结构 什么是 Koa2 koa 是由 Express 原班人马打造的,致力于成为一个更小.更富有表现力.更 ...
随机推荐
- JS实现Observable观察者模式
欢迎讨论与交流 : ) 注 代码参考自——汇智网 RxJS教程 前言 Observable观察者模式令小白笔者眼前一亮.数据生产者(observable)负责生产新鲜的数据,同时在生产完毕后'通知“消 ...
- asp.net(C#)网站发布后 Global.asax 里 Application_Error 不执行的问题
现象 在 Global.asax 用 Application_Error 捕捉了http的404,500等错误,在本机测试正常,发布后无效,几经周折终于解决了... 程序是这样设计的 Applicat ...
- ActiveX控件之ActiveXObject is not defined
ActiveX控件方便用户在网页中插入各种效果,但是并不是所有浏览器都支持该控件. ActiveX是微软独有的,只有基于IE内核的浏览器才能使用. 当出现如上错误,可以将通过该控件创建的对象定义为本地 ...
- 梦想成真,喜获微软MVP奖项,微软MVP FAQ?
之前一直很钦佩那些MVP获奖者,想着自己有一天也能拿到该多好,就在10月1日邮箱收到了微软的邮件,当选了2016年10月份的MVP.今天主要分享一下获奖的喜悦也分享一下如何获得MVP奖项. 什么是微软 ...
- Windows phone应用开发[22]-再谈下拉刷新
几周之前在博客更新一篇Windows phone应用开发[18]-下拉刷新 博文,有很多人在微博和博客评论中提到了很多问题.其实在实际项目中我基于这篇博文提出解决问题思路优化了这个解决方案.为了能够详 ...
- nginx、php-fpm二三问
php-cgi为什么没了? php-fpm子进程是干啥的?php-cgi是原来php自带的fastcgi进程管理器,有一些缺点,比如不能平滑重启,进程管理差.php-fpm可以看做升级版的php-fp ...
- 转发 VS 重定向
转发:JSP容器将使用一个内部的方法来调用目标页面,新的页面继续处理同一个请求,而浏览器将不会知道这个过程.以前的request中存放的变量全部失效,并进入一个新的request作用域. 重定向:第一 ...
- 【转】通过自定义的URL Scheme启动你的App
http://blog.csdn.net/ba_jie/article/details/6884818原文地址:http://iphonedevelopertips.com/cocoa/launchi ...
- react.js 生命周期componentDidUpdate的另类用法:防止页面过渡刷新
场景:数据新增成功之后,需要返回原来的查询表,这时候的查询,需要使用react的生命周期:componentDidUpdate componentDidUpdate() 这个生命周期的作用是当prop ...
- telnet建立http连接获取网页HTML内容
利用telnet可以与服务器建立http连接,获取网页,实现浏览器的功能.它对于需要对http header进行观察和测试到时候非常方便.因为浏览器看不到http header. 步骤如下: 1. 运 ...