今回は、Koa プロジェクトをビルドする手順について詳しく説明します。Koa プロジェクトをビルドする際の 注意事項 は何ですか?実際のケースを見てみましょう。
この記事では、Koa プロジェクトの構築プロセスの詳細な記録を紹介し、皆さんと共有します。詳細は次のとおりです: Java の Spring MVC と MyBatis は、基本的に Java Web の標準構成になっています。対応するNode JSはKoa、Express、Mongoose、Sequelizeなどです。 Koa は、Express をある程度アップグレードしたバージョンであると言えます。多くの Node JS プロジェクトは、非リレーショナル データベース (MongoDB) を使用し始めています。 Sequelize は非リレーショナル データベース (MSSQL、MYSQL、SQLLite) をサポートします。cnpm install -g koa-generator // 这里一定要用koa2 koa2 /foo
koa-generatorで生成されたアプリケーションにはすでに共通のミドルウェアが含まれていますが、ここではその中で使用されないものについてのみ説明します。
koa-less
app.use(require('koa-less')(dirname + '/public'))
@import 'foo.less'; @import 'bar.less';
koa-session
// 设置app keys,session会根据这个进行加密 app.keys = ['some secret hurr']; // 配置session config const CONFIG = { key: 'bougie:session', /** (string) cookie key (default is koa:sess) */ maxAge: 1000 * 60 * 60 * 24 * 7, overwrite: true, /** (boolean) can overwrite or not (default true) */ httpOnly: true, /** (boolean) httpOnly or not (default true) */ signed: true, /** (boolean) signed or not (default true) */ rolling: true, /** (boolean) Force a session identifier cookie to be set on every response. The expiration is reset to the original maxAge, resetting the expiration countdown. (default is false) */ renew: false, /** (boolean) renew session when session is nearly expired, so we can always keep user logged in. (default is false)*/ }; // 应用中间件 app.use(session(CONFIG, app));
基本的に使用
、通常のオブジェクトとして扱うことができます// 赋值 ctx.session.statu = value // 取值 ctx.session.statu // 删除 ctx.session.statu = null
プロキシ設定用
const proxy = require('koa-proxies') app.use(proxy('/octocat', { target: 'https://api.github.com/users', changeOrigin: true, agent: new httpsProxyAgent('http://1.2.3.4:88'), rewrite: path => path.replace(/^\/octocat(\/|\/\w+)?$/, '/vagusx'), logs: true }))
ルーティング制御
開発はRestfulインターフェイスやテンプレートを含むルーティング制御に主に焦点を当てていますレンダリング
クエリパラメータ(?param=a)ctx.query.param
ルーティングパラメータ
(/:id)ctx.params.id
ctx.request.body
リクエストレスポンス(レスポンス)
サーバーがクライアントに応答するデータ
restfulctx.body = yourData
ctx.render('layout', yourData)
ルートインターセプト
ログインしていない場合はリクエストを拒否しますこれは 404 を返します
const userAuth = (ctx, next) => { let isLogin = ctx.session.isLogin if(isLogin) return next() } router.use('/', userAuth)
vuex ページの更新後にデータが消去されないようにする方法
以上がKoa プロジェクトを構築する手順の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。