使用Angular5来构建我自己的KOAN堆栈Web应用程序(概述)
「俺式KOANスタック」によるWebアプリの構築についての私的なメモ記事は、Angular5で作成されています。
抵达KOAN的过程
事的开始是我刚学会Angular时,我正在开发一个使用Angular作为后端的Web应用程序。
(那时,我正在使用所谓的”Angular2″进行开发。)
我知道了一个叫做”MEAN堆栈”的Web应用程序开发模板,这是个机会。
MEAN(ミーン)是什么?
「MEAN Stack」是MongoDB、Express、AngularJS和Node.js的首字母缩写,这是一种用于Web应用开发的软件组合。
他们可以组合在一起来构建一个外观精美的Web应用程序。
MEAN Stack最初是由MongoDB的开发者Valeri Karpovni在2013年4月30日在网上提出的,从2014年开始逐渐变得有名起来。
在Valeri Karpovni的博客中仍然保留着原始的MEAN思想。
从Express迁移到Koa
Express是一个非常著名的Node.js Web框架,但当时在开发过程中,发现需要写很多回调函数的处理,于是我开始寻找其他的选择。恰好我发现了一个正在受到关注的新框架”Koa”,于是就去尝试了一下。
尝试用Koa替换了之前用MEAN Stack编写的Web应用后,发现源代码更易于编写且更易读,因此决定在这个机会下转向使用Koa进行构建。
Koa在刚开始时似乎并没有引起太多关注,但最近Koa也推出了「v2」版本,功能相比Express更加出色,因此我开始考虑是否可以以Koa为核心搭建类似于”MEAN Stack”的架构,正当我思考这个问题的时候,我还意外地发现了「KOAN Stack」(同时也决定将Angular从”2″版本升级到”4″版本)。
顺便提一下,最近看了一篇关于Express的文章,好像不用写回调函数也能实现,所以也许不一定非得用Koa了。
公案(’àn)是什么?
「KOAN Stack」是Koa、AngularJS、Node.js的缩写,类似于MEAN,是Web应用程序开发的一个框架。查看专门推崇「KOAN」的GitHub页面时,可以看到除了上述提到的三个框架,还包括了MongoDB在内的构造形式。
用俺式的KOAN技术栈构建Web应用程序。
这次,暂时放置MongoDB,选择使用Koa、AngularJS和Node.js这三个技术构建Web应用程序。
对于前端部分,我将使用之前个人未曾使用过的Angular开发辅助工具”angular-cli”来搭建”Angular5″应用。我会在angular-cli中进行配置,避免手动调整Webpack等方面。
至于后端部分,我将使用TypeScript进行编写,并根据需要适时添加其他必要的库。
我会使用Koa的”v2″版本作为Web框架,同时创建一个中间类来处理前端和后端之间的接口,该类可以从前端或后端加载接口和通用处理程序,从而搭建Web应用程序。
最近我喜欢使用的编辑器是”Visual Studio Code”。虽然免费,但非常优秀。
实际的Web应用程序构建步骤
请将实际构建的内容记下来。(可以通过作业链接跳转到实际操作步骤的文章)
不需提供包的组成,请自行制作并以“嗯”的感觉来查看。
結論だけ雑に書くと、ここは mysql やら http やら適当なライブラリを
npm install
してきてリファレンス見ながら適当に書くだけでした。6環境変数を呼び分けられるようにする書こうと思ってましたが、Angular6 が出てきたのでそっちに移行するのでやめました。(ごめんなさい)結論だけ雑に書くと、まず config ライブラリをインストール(npm i config)し、
package.json
にコマンド実行時のオプションで --NODE_ENV=production
など書いて、いい感じに設定された環境値を利用して config の値を使うだけでした。7認証とセッション管理機能を導入する書こうと思ってましたが、Angular6 が出てきたのでそっちに移行するのでやめました。(ごめんなさい)結論だけ雑に書くと、
koa-session
をインストールして、koa ルーティング時に context(ctx) を使用して ctx.session
などと書いて利用するだけでした。詳しくは koa-session
のドキュメント見ればOK