Framework・Office365を中心に扱うブログです。TypeScriptTweetNode.js入門者の私がサーバーサイドを構築してみました。公式サンプルは生のjavascriptでした。今回はtypescriptにしたかったので少々手間取りましたが出来上がってしまえばシンプルでした。Code出来上がったソースコードGitHubにアップしました。github.comYeomanジェネレーターYeomanとはYeomanは、コードの雛形を作成するツールです。書いたりするのは大変ですので、すぐに開発に入れるようにするには作成済の雛形を持ってくるほうが楽です。して登録してみました。今後のお仕事やお勉強が捗る・・と、いいな。利用方法まず最初にYeoman自体をインストールする必要があります。インストールはコマンドプロンプトからnpmコマンドで行います。-g次にYeomanのジェネレーターをインストールします。-gここまでで環境は揃いました。次に雛形を使ったコード生成を行います。コマンドプロンプトで任意のフォルダに移動します。コマンドでコードを生成します。コードはカレントディレクトリに生成されます。typed-express-restfulapiパッケージ名を聞かれますので任意の文字列を入力します。何も入力せずEnterを押すと「restApi」というパッケージ名が採用されます。Codeでフォルダを開きましょう。以降はVSCodeでの操作になります。installコマンドで持ってきます。installここまでの操作で、画像のとおりnode_modulesフォルダが作成されるはずです。startコマンドでローカルサーバーを起動します。startコマンドブラウザでURLを叩いて結果を確かめます。http://localhost:3000/api/example?param1=value1ブラウザでURLを叩いて結果を確認ユニットテストも通してみます。実行結果これで動作確認まで終わりです。あとは自前の処理を追加していきます。配下にクラスを追加します。複雑なものでなければApiBaseを継承し、protectedなメソッドをオーバーライドすると楽です。app.tsファイルを編集してURLマッピングを追加します。クラスに作りましょう。APIを実装するためのモジュールです。設計の自由度が高く、既定では薄い実装となっておりミドルウェアを追加して機能を追加していくといった使い方になります。expressでのサーバー起動に関する処理を固めてあります。(helmet)helmetというモジュールで一括追加してくれます。import、からのuseするだけです。以下、重要箇所のみ抜粋します。}}以下が参考になりました。(morgan)サーバー実行中にログを出力してくれるモジュールです。利用方法はhelmetとほぼ同じです。(cookie-parser)これも同様。ミドルウェアの利用は簡単ですね。trueとしているところです。悪意のあるウェブサイトからCookie情報を抜き取られないように対策しています。gulp-uglify)gulpfile.jsを作成し、buildコマンドを定義しました。いうコマンドで定義したアクションが実行される状態になりました。gulpfile.js内では、src配下で開発したファイルをbinフォルダにまとめています。.tsファイルはトランスパイルを行って.jsファイルにしています。.jsファイルはuglifyで圧縮しました。これをpackage.jsonに記述したprestartスクリプトで流しています。sinon)テストコードはtestフォルダ内に作成しました。テストランナーはmochaとし、chaiでアサートしています。リクエストやレスポンスを生成するのが面倒なので必要なメソッドだけをsinonでスタブ化しました。その他プロパティ群はPartialで生成しています。開発で分かった私的ベストプラクティスまとめSPFx開発を始めて幾星霜。復旧)【2019年11月時点最新】Flowの新ライセンス形態まとめSharePointでリストのコピーができるようになりました月別アーカイブはてなブログをはじめよう!micknabewataさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。