に参加して、VS Code の AI 支援開発について学びましょう。

Visual Studio Code と Azure を使用した Node.js 開発

2017年1月4日 - Jonathan Carter、@lostintangent

Visual Studio Code と Azure を組み合わせることで、Node.js アプリケーションの構築、デバッグ、デプロイにおける開発者体験全体を簡素化し、改善することに貢献しようとしています。Node Interactive North America 2016では、コミュニティからのフィードバックに基づいて最近行ってきた作業の一部をデモできることに興奮しました。この記事は、試してみたい方や、私の講演でカバーできた以上の詳細を探している方のために、そのワークフローを捉えようとするものです。

このデモでは、Scotch.ioが作成・公開したシンプルなTodoアプリを使用しています。これはシングルページのMEANアプリケーションであり、MongoDBをデータベースとして、Node/ExpressをREST API/Webサーバーとして、Angular.js 1.xをフロントエンドUIとして使用しています。興味のある特定のセクションにジャンプするには、以下の目次を使用してください。それ以外の場合は、読み進めてください。

前提条件

このデモを効果的に実行するには、以下のソフトウェアをインストールする必要があります

  1. こちらからダウンロードできるVisual Studio Code Insidersビルド。厳密にはInsidersビルドは必要ありませんが、最新のバグ修正/機能強化にアクセスできるため(Chrome Canaryビルドと同じように)、VS Codeチームが使用しているビルドでもあるため、すべての方にそれを使用することをお勧めします。

  2. こちらからダウンロードできるDocker。さらに、ウォークスルーで作成されるDockerイメージを公開するには、DockerHubアカウントが必要です。

  3. Azure CLI (>=v0.1.0b11)。インストール手順はこちらで提供されています。さらに、Azureアカウントが必要であり、az loginを実行して対話型ログインに従ってAzure CLIにログインしている必要があります。

  4. Yarn。インストール手順はこちらで提供されています。厳密には必須ではありませんが、以下ではNPMクライアントの代わりに使用されています。お勧めします!

さらに、デモアプリはMongoDBを使用しているため、標準の27017ポートでリッスンしているローカルで実行中のMongoDBインスタンスが必要です。これを達成する最も簡単な方法は、Dockerのインストール後に次のコマンドを実行することです: docker run -it -p 27017:27017 mongo

プロジェクトのセットアップ

始めるには、Todoサンプルプロジェクトを取得して、遊び始める必要があります。これを行うには、次の手順を実行します。

  1. Visual Studio Code を開き、F1 を入力してコマンドパレットを表示します(または、表示メニューからコマンドパレット...を選択します)。

  2. gitcl と入力して Git: クローン コマンドを見つけ、Enter キーを押します。

注:VS Code のコマンドパレットは「ファジー検索」をサポートしており、より少ないキーストロークでよく使うコマンドを見つけることができます。

  1. プロンプトに https://github.com/scotch-io/node-todo と入力し、Enter キーを押します。

  2. プロジェクトをクローンしたいフォルダを選択するか、新しいフォルダを作成します(例: Todos)。この時点で、VS Code はリポジトリをクローンし、新しくクローンされたプロジェクトをルートとする新しいワークスペースを起動します。

あるいは、Git CLI を使用してサンプルリポジトリをクローンすることもできますが、この演習は VS Code がコマンドパレットを通じて提供する生産性向上機能の一部を示すのに役立ちます。F1 を押して、それが(およびインストールされている拡張機能)提供するさまざまなコマンドを閲覧し、他に何ができるかを特定することをお勧めします。

統合ターミナル

これは Node.js プロジェクトなので、まず最初に、そのすべての依存関係が NPM からインストールされていることを確認する必要があります。これらは Git リポジトリにはチェックインされていないからです。この手順は標準のターミナル(Hyper! をお勧めします)から実行できますが、必要であれば、CTRL+` を押して VS Code 統合ターミナルを起動し、お好みの NPM クライアントに応じて npm install または yarn を実行することもできます。Yarn は非常に高速で優れたワークフロー改善を提供してくれるので、まだ使っていない場合は試してみることをお勧めします。

VS Code は既存のワークフローに自然にフィットすることを目指しているため、統合ターミナルがいつ役立つか、役に立つかどうかを判断するのはあなた次第です。私は VS Code をフルスクリーンで実行している場合(特に新しい Zen モードでは!)、シンプルな/一時的なコマンドには統合ターミナルを使うのが便利だと感じています。一方、より「洗練された」ことをしている場合は、Hyper のフルスクリーンバージョンに切り替えるだけです。ここでの選択と柔軟性が重要です。

統合されたGitバージョン管理

Yarn を介してアプリの依存関係をインストールした結果、yarn.lock ファイルが生成されました。これにより、CI ビルド、本番デプロイ、または他の開発者のマシンで予期せぬ事態が発生することなく、将来的にまったく同じ依存関係を再取得する予測可能な方法が提供されます。

このファイルをソース管理にチェックインすることが推奨されており、これを行うには、VS Code の統合 Git タブ (Git ロゴのあるタブ) に簡単に切り替えて、新しく追加されたファイルに注目します。コミットメッセージを入力し、CMD+Enter (またはチェックマークアイコンをクリック) を押して、変更をローカルでステージング/コミットすることができます。

舞台裏では、これは単に手動で実行したであろう同じ Git CLI コマンドを自動化しているだけなので、繰り返しになりますが、VS Code の統合が自分に合っているかどうかはあなた自身で判断することになります。もし興味があれば、... メニュー項目をクリックしてGit 出力を表示を選択することで、Git 出力ウィンドウを表示できます。これにより、VS Code があなたに代わって実行しているすべての基盤となる Git アクティビティが表示されます。

プロジェクト/コードナビゲーション

コードベースに慣れるために、VS Code が提供するナビゲーション機能のいくつかの例を試してみましょう。

  1. CMD+P を入力し、.js を入力すると、プロジェクト内のすべての JavaScript/JSON ファイルとそれらが含まれるディレクトリが表示されます。繰り返しますが、このダイアログはコマンドパレットと同じ「あいまい検索」をサポートしているため、非常に柔軟です。


  2. アプリの起動スクリプトである server.js を選択します。

  3. 6行目でインポートされているdatabase変数にカーソルを合わせると、その「型」を確認できます。ファイル内の変数/モジュール/型を素早く検査するこの機能は、特にコードを書くよりも読んだり理解したりする時間の方が多い傾向があるため、非常に便利です。


  4. database の名前の範囲内にカーソルを置くだけで、同じファイル内の他のすべての参照をすばやく確認でき、右クリックして参照をピーク表示を選択すると、プロジェクト全体での使用箇所を確認できます。

  5. ホバーで変数型を素早く検査するだけでなく、別のファイルにある変数であってもその定義を検査できます。たとえば、12行目の database.localUrl を右クリックして 定義をピーク表示 を選択すると、アプリがデフォルトで MongoDB に接続するようにどのように設定されているかを素早く確認できます。

クラウドネイティブの12ファクターアプリでは、このような設定をハードコードしないため、環境変数を通じてMongoDB接続文字列を設定する方が良く、デプロイメント/環境ごとに簡単に変更できます。その変更を行いましょう!

自動補完

コードの作成/探索中にオートコンプリートを使用すると、ドキュメントを参照し続けたり、APIのタイプミスを心配したりする必要がなくなるため、生産性が大幅に向上します。たとえば、ハードコードされたMongoDB接続文字列を環境変数で強化するために、12行目を次のように変更します

mongoose.connect(database.localUrl);

これを

mongoose.connect(process.env.MONGO_URL || database.localUrl);

process. と入力すると、VS Code が Node.js の process グローバル API の利用可能なメンバーを表示したことに気づいたはずです。何も設定する必要はありません。

これは、VS Code が舞台裏で TypeScript を使用して (JavaScript でも!) 型情報を提供し、それが入力時に補完リストに反映されるためです。VS Code はこれが Node.js プロジェクトであることを検出し、その結果、NPM から Node.js の TypeScript 型定義ファイルを自動的にダウンロードしました。これにより、BuffersetTimeout などの他の Node.js グローバル、および fshttp などのすべての組み込みモジュールの補完を得ることができます。

組み込みの Node.js API に加えて、この型定義の自動取得は、React、Underscore、Express など、2,000 を超えるサードパーティライブラリでも機能します。たとえば、設定された MongoDB データベースインスタンスに接続できない場合に Mongoose がサンプルアプリをクラッシュさせないようにするには、13 行目に次のコード行を追加します。

mongoose.connection.on('error', () => {
  console.log('DB connection error');
});

これを入力すると、再び何もする必要なく補完が得られることに気づくでしょう。

このオートコンプリート機能をサポートしているライブラリは、コミュニティ主導のすべての TypeScript 型定義のソースである素晴らしいDefinitelyTypedプロジェクトを参照することで確認できます。

アプリの実行

このアプリを少し探索して微調整したので、いよいよ実行する時です。これを行うには、F5を押してアプリを実行するだけです。初めて実行しようとするので、使用したい「実行構成」の種類を指定するよう求められます

最近 Node.js に追加された新しい Chrome デバッグプロトコルサポートを使用する Node.js v6.3+ (Experimental) を選択します。これにより、プロジェクトに launch.json という新しいファイルが生成されます。これは、デバッグするためにアプリを起動またはアタッチする方法を VS Code に伝えるだけのものです。

アプリの起動スクリプトが server.js であることを検出できたことに注意してください。繰り返しになりますが、デバッグが機能するように何も変更する必要はありません。

この時点で、もう一度 F5 を押してアプリを実行します。これによりアプリが起動し、VS Code の デバッグコンソール ウィンドウが表示され、新しく実行されているアプリの標準出力が表示されます。

さらに、このコンソールは現在実行中のアプリに実際にアタッチされているため、JavaScript の式を入力でき、アプリ内で評価され、自動補完も含まれます!たとえば、コンソールで process.env と入力して、私が何を言っているのか確認してみてください。

ブラウザを開くと、https://:8080 にアクセスして実行中のアプリを確認できます。テキストボックスにメッセージを入力し、いくつかの ToDo を追加/削除して、アプリの動作を体験してください。

デバッグ

アプリを実行し、統合コンソールを介してアプリと対話できるだけでなく、VS Code はコード内に直接ブレークポイントを設定する機能も提供します。たとえば、CTRL+P を押してファイルピッカーを表示し、route と入力して route.js ファイルを選択します。

アプリが ToDo を追加しようとしたときに呼び出される Express ルートを表す 28 行目にブレークポイントを設定しましょう。ブレークポイントを設定するには、エディタ内の行番号の左側にあるガターをクリックするだけです。

注意:標準のブレークポイントに加えて、VS Code は条件付きブレークポイントもサポートしており、アプリがいつ実行を中断するかをカスタマイズできます。これを使用するには、単にガターを右クリックし、条件付きブレークポイントを追加... を選択し、JavaScript 式(例:foo = "bar")またはヒットカウントを指定してブレークポイントの条件を設定します。

設定が完了したら、実行中のアプリに戻り、todo を追加します。これにより、アプリの実行が即座に中断され、VS Code はブレークポイントを設定した 28 行目で一時停止します。

一時停止中のファイル内で、式にマウスを重ねて現在の値を確認したり、ローカル/ウォッチとコールスタックを検査したり、上部のデバッグツールバーを使用して実行をステップ実行したりできます。IDE に期待されるすべての機能が、軽量なテキストエディターで利用できます。もう一度 F5 を押して、アプリの実行を続行します。

フルスタックデバッグ

前述のように、これは MEAN アプリであり、フロントエンドとバックエンドの両方が JavaScript を使用して記述されています。現在バックエンドの Node/Express コードをデバッグしていますが、いずれかの時点でフロントエンド/Angular コードをデバッグする必要があるかもしれません。幸いなことに、VS Code には、統合された Chrome デバッグを含む、簡単にインストールできる拡張機能の巨大なエコシステムがあります。

これを実証するために、拡張機能タブに切り替えて、検索ボックスに chrome と入力します。

Debugger for Chrome という名前の拡張機能を選択し、インストールボタンをクリックします。これを行った後、拡張機能をアクティブにするには VS Code を再読み込みする必要があります。再起動後もワークスペースは保持されるので、状態が失われる心配はありません。

CTRL+P を入力し、launch.json を入力/選択して、そのファイルの内容を以下に置き換えます。

{
  "version": "0.2.0",
  "compounds": [
    {
      "name": "Full-Stack",
      "configurations": ["Node", "Chrome"]
    }
  ],
  "configurations": [
    {
      "name": "Chrome",
      "type": "chrome",
      "request": "launch",
      "url": "https://:8080",
      "port": 9222,
      "userDataDir": "${workspaceFolder}/.vscode/chrome",
      "webRoot": "${workspaceFolder}/public"
    },
    {
      "name": "Node",
      "type": "node2",
      "request": "launch",
      "program": "${workspaceFolder}/server.js",
      "cwd": "${workspaceFolder}"
    }
  ]
}

この変更には 2 つの目的があります。

  1. フロントエンドの JavaScript コードをデバッグできるように、Chrome の新しい実行構成を追加します。指定された設定の上にマウスカーソルを置くと、その設定が何をするのかに関するドキュメントを表示できます。便利!

  2. 「複合」実行構成を追加します。これにより、フロントエンドとバックエンドのコードを同時にデバッグできます。複合構成の概念は、後で説明するように、本当に強力です!

これを実際に確認するには、VS Code のデバッグタブに切り替え、選択された構成を「Full-Stack」(複合構成と呼んだもので、任意の名前を付けることができます)に変更し、F5 を押して実行します。

これにより、Node.js アプリ (デバッグコンソールの出力で確認できます) と、https://:8080 の Node.js アプリに移動するように設定された Chrome が起動します。

CTRL+P を入力し、アプリのフロントエンドのメインとなる Angular コントローラーである todos.js を入力/選択します。新しい todo が作成されるエントリーポイントである 11 行目にブレークポイントを設定します。

実行中のアプリに戻り、新しい ToDo を追加すると、VS Code が Angular コード内で実行を中断したことに気づくでしょう。

Node.js のデバッグと同様に、式にマウスを重ねて表示したり、ローカル/ウォッチを確認したり、コンソールで式を評価したりできます。ただし、今考慮すべきクールな点が 2 つあります。

  1. コールスタックペインには、NodeChrome の 2 つの異なるスタックが表示され、現在一時停止しているスタックが示されます。

  2. フロントエンドコードとバックエンドコードの間をステップ実行できます!これをテストするには、単純に F5 を押すと、実行が開始され、以前に Express ルートに設定したブレークポイントにヒットします。

このセットアップにより、VS Code 内でフロントエンド、バックエンド、またはフルスタックの JavaScript コードを効率的にデバッグできるようになりました。さらに、複合デバッガーの概念は、2 つのターゲットプロセスに限定されるだけでなく、JavaScript にも限定されません。したがって、潜在的に多言語のマイクロサービスアプリに取り組んでいる場合でも、必要な拡張機能 (例: Go、Ruby、PHP) をインストールすれば、上記のまったく同じワークフローを使用できます。

アプリのDocker化

マイクロサービスといえば、VS Code が Docker を使用した開発に提供するエクスペリエンスを見てみましょう。多くの Node.js 開発者は、開発、CI、および本番環境の両方で移植可能なアプリデプロイメントを提供するために Docker を使用しています。Docker のメリットは非常に高い一方で、学習曲線と開始コストもかなり高いというフィードバックを多く聞いています。VS Code は、そのオンボーディングの一部を簡素化しようとする拡張機能を提供しています!

拡張機能タブに切り替え、docker を検索し、Microsoft の Docker 拡張機能を選択します。上記 Chrome 拡張機能と同様に、これをインストールしてから VS Code を再ロードします。

この拡張機能には多くの機能が含まれており、その1つは、既存のプロジェクトに対して Dockerfiledocker-compose.yml ファイルを生成するシンプルなコマンドです。これを実際に見てみるには、F1(コマンドパレットを起動するため)と入力し、docker と入力して、Docker 拡張機能が提供するすべてのコマンドを表示します。

Docker: ワークスペースに Docker ファイルを追加 コマンドを選択し、アプリプラットフォームとして Node.js を選択し、アプリがポート 8080 を公開するように指定します。これにより、すぐに使用できる完全な Dockerfile と Docker Compose ファイルが生成されます。

Docker 拡張機能は、Dockerfiledocker-compose.yml ファイルの自動補完も提供するため、Docker アセットの作成がはるかに簡単になります。たとえば、Dockerfile を開いて 2 行目を次のように変更します。

FROM node:latest

次へ

FROM mhart

mhartt の後にカーソルを置き、CTRL+Space を押すと、mhart が DockerHub に公開しているすべてのイメージリポジトリを表示できます。

mhart/alpine-node を選択します。これは非常に効率的で小さな Linux ディストリビューションで、このアプリが必要とするすべてを余分な肥大化なしで提供します(Alpine Linux は Docker に最適です!)。小さいイメージは、アプリのビルドとデプロイをできるだけ高速にしたいので、通常は優れています。これにより、配布/スケーリングなどが迅速になります。

Dockerfile ができたので、実際に Docker イメージをビルドする必要があります。再び、Docker 拡張機能がインストールしたコマンドを使用できます。F1 を入力し、dockerb (「ファジー検索」を使用) と入力します。Docker: イメージをビルド コマンドを選択し、生成/編集した /Dockerfile を選択し、DockerHub ユーザー名を含むタグ (例: lostintangent/node) をイメージに付けます。<ENTER> を押すと、統合ターミナルウィンドウが起動し、Docker イメージがビルドされる出力が表示されます。

このコマンドは、単に docker build の実行プロセスを自動化したものであり、Docker CLI を直接使用するか、この生産性向上機能を選択して使用するかのもう一つの例であることに注意してください。あなたにとって最適な方法を選択してください!

この時点で、このイメージをデプロイメントで簡単に取得できるようにするには、DockerHub にプッシュする必要があります。これを行うには、コマンドパレットを表示し、dockerpush と入力して、Docker: プッシュ コマンドを選択します。ビルドしたばかりのイメージタグ (例: lostintangent/node) を選択し、<ENTER> を押します。これにより、docker push の呼び出しが自動化され、その出力が統合ターミナルに表示されます。

アプリのデプロイ

アプリを Docker 化し、DockerHub にプッシュしたので、実際にクラウドにデプロイして世界に公開する必要があります。これには、Azure の PaaS サービスである Azure App Service を使用します。最近、Node.js 開発者に関連する 2 つの新機能が追加されました。

  1. Linux ベースの VM のサポート。これにより、ネイティブ Node モジュールまたは Windows をサポートしない、または動作が異なる可能性のある他のツールを使用して構築されたアプリの非互換性が軽減されます。

  2. Docker ベースのデプロイメントのサポート。これにより、Docker イメージの名前を指定するだけで、App Service がイメージを自動的にプル、デプロイ、スケーリングできるようになります。

開始するには、ターミナルを開き、新しい Azure CLI 2.0 を使用して Azure アカウントを管理し、Todo アプリを実行するために必要なインフラストラクチャをプロビジョニングします。az login コマンドを使用して CLI からアカウントにログインしたら (前提条件で述べたように)、App Service インスタンスをプロビジョニングし、Todo アプリ コンテナをデプロイするために次の手順を実行します。

  1. リソースグループを作成します。これは Azure リソースを整理するための「名前空間」または「ディレクトリ」と考えることができます。-n フラグはグループの名前であり、好きなものを指定できます。

    az group create -n nina-demo -l westus
    

    注意: -l フラグはリソースグループの場所を示します。プレビュー版では、App Service on Linux のサポートは選択されたリージョンでのみ利用可能です。もしあなたが西米国に拠点を置いておらず、他の利用可能なリージョンを確認したい場合は、CLI から az appservice list-locations --linux-workers-enabled を実行してデータセンターのオプションを表示するだけです。

  2. App Service プランを作成します。これは、アプリがデプロイされる基盤となる VM の作成とスケーリングを管理します。繰り返しになりますが、名前フラグには好きな値を指定できますが、-g フラグが上記のリソースグループに付けた名前を参照していることを確認してください。

    az appservice plan create -n nina-demo-plan -g nina-demo --is-linux
    

    注:--is-linux フラグは重要です。これは Linux ベースの VM を使用することを意味します。これがないと、CLI は Windows ベースの VM をプロビジョニングします。

  3. App Service Web アプリを作成します。これは、作成したばかりのプランとリソースグループ内で実行される todo アプリを表します。Web アプリはプロセスまたはコンテナと同義であると大まかに考えることができ、プランはそれらが実行される VM/コンテナホストであると考えることができます。

    az appservice web create -n nina-demo-app -p nina-demo-plan -g nina-demo
    
  4. Web アプリが Docker イメージを使用するように構成し、-c フラグを DockerHub アカウント/イメージ名に設定していることを確認します。

    az appservice web config container update -n nina-demo-app -g nina-demo -c lostintangent/node
    
  5. アプリを起動して、デプロイされたばかりのコンテナを表示します。これは *.azurewebsites.net の URL で利用できます。

    az appservice web browse -n nina-demo-app -g nina-demo
    

    注意:App Service が DockerHub から Docker イメージをプルして起動する必要があるため、アプリが最初にロードされるまで数分かかる場合があります。

やったー!アプリをデプロイしました。しかし、回転するアイコンは、アプリがデータベースに接続できないことを示しています。これは、開発中にローカルの MongoDB インスタンスを使用していたため、Azure データセンター内からアクセスできないため当然です。幸いにも、アプリを環境変数経由で接続文字列を受け入れるように更新したため、MongoDB サーバーを起動し、App Service インスタンスがそれを参照するように再構成するだけで済みます。

DocumentDBの使用

MongoDB サーバーまたはレプリカセットをセットアップし、そのインフラストラクチャを自分で管理することもできますが、Azure は DocumentDB と呼ばれる別のソリューションを提供しています。DocumentDB は、完全に管理され、地理的にレプリケート可能で、高性能な NoSQL データベースであり、MongoDB 互換レイヤーを提供します。これは、既存の MEAN アプリを接続文字列以外何も変更することなく、DocumentDB に向けることができることを意味します!今回は CLI ではなく、Azure ポータルを使用して、その使用方法を見てみましょう。

  1. portal.azure.com にアクセスし、CLI で使用していたのと同じアカウントでサインインします。
  1. N キーを押して新しい Azure リソースを作成し、データベース、次に NoSQL (DocumentDB) を選択します。
  1. インスタンスに任意の名前を付けますが、その NoSQL APIMongoDB を使用するように構成し、その リソースグループ既存を使用 に設定し、App Service インスタンスのために作成したのと同じリソースグループを選択します。
  1. 作成ボタンをクリックし、DB がプロビジョニングされるまで待ちます。

DocumentDB インスタンスが完全に作成されるまでには数分かかりますので、ポータルの右上隅にデプロイ成功通知が表示されるまで待ちます。完了したら、左側のナビゲーションバーにある すべてのリソース タブ(緑色のグリッドアイコンのメニュー項目)に移動し、作成した DocumentDB リソースを選択します。

設定セクションの下にある接続文字列メニュー項目をクリックし、接続文字列フィールドの横にあるコピーボタンをクリックして、MongoDB 接続文字列をクリップボードにコピーします。

ポータル内のすべてのリソースページに戻り、以前に作成したApp Serviceインスタンスに移動します。設定セクションの下にあるアプリケーション設定メニュー項目をクリックし、アプリ設定セクションの下に新しいエントリを追加します。そのキーはMONGO_URLで、値は以前にコピーしたDocumentDB接続文字列です。

保存ボタンを押し、ブラウザに戻って更新します。Todo アイテムを追加したり削除したりして、何も変更することなくアプリが動作することを確認してください!環境変数を、完全に MongoDB データベースをエミュレートする作成済みの DocumentDB インスタンスに設定しただけです。

必要に応じて、DocumentDB インスタンスに戻り、MongoDB インスタンスが必要とする予約済みスループットをスケールアップ (またはスケールダウン) し、手動でインフラストラクチャを管理することなく、追加のトラフィックの恩恵を受けることができます。

さらに、DocumentDB はすべてのドキュメントとプロパティを自動的にインデックス化するため、遅いクエリのプロファイリングや手動でのインデックスの微調整について心配する必要はありません。必要に応じてプロビジョニングとスケーリングを行い、残りは DocumentDB に任せましょう!

クリーンアップ

使用していない Azure リソースに対して料金が発生しないように、ターミナルから次のコマンドを実行して、プロビジョニングしたばかりのすべてのリソースを削除します。

az group delete -n nina-demo

これには数分かかりますが、完了すると、Azure アカウントは開始前と同じ状態になります。Azure リソースを単一のユニットとして整理、デプロイ、削除できるこの機能は、リソースグループの主な利点の1つであるため、将来 Azure を使用する場合は、同じライフタイムを持つと予想されるリソースをグループ化することをお勧めします。

まとめ

このデモが、Visual Studio Code が Node.js 開発エクスペリエンス全体を改善しようとしているいくつかの方法を示せたことを願っています。フルスタックおよびマイクロサービスをサポートするデバッグ、追加設定なしでナビゲーションと自動補完を提供する豊富なオーサリングエクスペリエンス、そして Docker などの大規模な拡張機能エコシステムにより、他のアプリの種類やプラクティスに対するフィードバックループを強化できることで、軽量エディタ内での生産性がどのように進化し続けるかを楽しみにしています。

さらに、Azure CLI、App Service、DocumentDB を組み合わせることで、追加のインフラストラクチャの複雑さを導入することなく、必要に応じてスケーリングできる Node.js/MEAN アプリ用の生産的で管理の少ないクラウドスタックを提供しようとしています。

NINA 2016 デモのウォークスルーを提供するだけでなく、このデモを使用して、VS Code と Azure の両方で Node.js エクスペリエンス全体を反復的に改善し、よりシンプルで柔軟なものにしていきたいと考えています。改善点に関するご質問やフィードバックがあれば、このリポジトリに問題を提出するか、メールでお気軽にお問い合わせください。ありがとうございます!

© . This site is unofficial and not affiliated with Microsoft.