ASP.NET CoreとTypeScriptのインストール
まず、必要な場合はASP.NET Coreをインストールします。このクイックスタートガイドでは、Visual Studio 2015または2017が必要です。
次に、お使いのVisual Studioのバージョンに最新のTypeScriptがまだインストールされていない場合は、インストールできます。
新規プロジェクトの作成
- ファイルを選択します。
- 新規プロジェクトを選択します (Ctrl + Shift + N)
- プロジェクト検索バーで.NET Coreを検索します。
- ASP.NET Core Web アプリケーションを選択し、次へボタンを押します。
- プロジェクト名とソリューション名を指定します。その後、作成ボタンを選択します。
- 最後のウィンドウで、空テンプレートを選択し、作成ボタンを押します。
アプリケーションを実行し、正常に動作することを確認します。
サーバーの設定
依存関係 > NuGet パッケージの管理 > 参照を開きます。Microsoft.AspNetCore.StaticFiles
とMicrosoft.TypeScript.MSBuild
を検索してインストールします。
Startup.cs
ファイルを開き、Configure
関数を次のように編集します。
public void Configure(IApplicationBuilder app, IHostEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseDefaultFiles(); app.UseStaticFiles(); }
UseDefaultFiles
とUseStaticFiles
の下の赤い波線は、VSを再起動すると消える場合があります。
TypeScriptの追加
次に、新しいフォルダーを追加してscripts
と名付けます。
TypeScriptコードの追加
scripts
を右クリックして新しい項目をクリックします。次に、TypeScriptファイルを選択し、ファイル名をapp.ts
にします。
サンプルコードの追加
次のコードをapp.ts
ファイルに追加します。
ts
function sayHello() {const compiler = (document.getElementById("compiler") as HTMLInputElement).value;const framework = (document.getElementById("framework") as HTMLInputElement).value;return `Hello from ${compiler} and ${framework}!`;}
ビルドの設定
TypeScriptコンパイラの構成
まず、TypeScriptにビルド方法を指示する必要があります。「scripts」を右クリックして、「新規アイテム」をクリックします。次に、「TypeScript構成ファイル」を選択し、デフォルト名の「tsconfig.json」を使用します。
tsconfig.json
ファイルの内容を以下に置き換えます。
{" ": {" ": true," ": true," ": true," ": "es6"}," ": ["./app.ts"],"compileOnSave": true}
noEmitOnError
:エラーが報告された場合は、出力ファイルを生成しません。noImplicitAny
:暗黙的なany
型を持つ式と宣言に対してエラーを発生させます。sourceMap
:対応する.map
ファイルを生成します。target
:ECMAScriptのターゲットバージョンを指定します。
注:「ESNext」は最新のサポート対象バージョンをターゲットにします。
noImplicitAny
は、新しいコードを作成する際には常に良いアイデアです。これにより、誤って型指定されていないコードを作成しないようにすることができます。「compileOnSave」を使用すると、実行中のウェブアプリでコードを簡単に更新できます。
NPMの設定
JavaScriptパッケージをダウンロードできるように、NPMを設定する必要があります。プロジェクトを右クリックして、「新規アイテム」を選択します。次に、「NPM構成ファイル」を選択し、デフォルト名の「package.json」を使用します。
package.json
ファイルの"devDependencies"
セクションに、gulpとdelを追加します。
"devDependencies": {"gulp": "4.0.2","del": "5.1.0"}
ファイルを保存するとすぐに、Visual Studioがgulpとdelのインストールを開始します。開始しない場合は、package.jsonを右クリックして「パッケージの復元」を選択します。
その後、ソリューションエクスプローラーにnpm
フォルダが表示されます。
gulpの設定
プロジェクトを右クリックして、「新規アイテム」をクリックします。次に、「JavaScriptファイル」を選択し、「gulpfile.js」という名前を使用します。
js
/// <binding AfterBuild='default' Clean='clean' />/*This file is the main entry point for defining Gulp tasks and using Gulp plugins.Click here to learn more. http://go.microsoft.com/fwlink/?LinkId=518007*/var gulp = require("gulp");var del = require("del");var paths = {scripts: ["scripts/**/*.js", "scripts/**/*.ts", "scripts/**/*.map"],};gulp.task("clean", function () {return del(["wwwroot/scripts/**/*"]);});gulp.task("default", function (done) {gulp.src(paths.scripts).pipe(gulp.dest("wwwroot/scripts"));done();});
最初の行は、ビルドが完了した後にVisual Studioに「default」タスクを実行するように指示します。また、Visual Studioにビルドのクリーンアップを要求すると、「clean」タスクも実行されます。
次に、gulpfile.js
を右クリックして、「タスクランナーエクスプローラー」をクリックします。
「default」と「clean」タスクが表示されない場合は、エクスプローラーを更新します。
HTMLページの作成
wwwroot
フォルダを右クリックします(フォルダが表示されない場合は、プロジェクトをビルドしてみてください)。そして、内部にindex.html
という名前の新しいアイテムを追加します。index.html
には次のコードを使用します。
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <script src="scripts/app.js"></script> <title></title> </head> <body> <div id="message"></div> <div> Compiler: <input id="compiler" value="TypeScript" onkeyup="document.getElementById('message').innerText = sayHello()" /><br /> Framework: <input id="framework" value="ASP.NET" onkeyup="document.getElementById('message').innerText = sayHello()" /> </div> </body> </html>
テスト
- プロジェクトを実行します。
- ボックスに文字を入力すると、メッセージが表示/変更されます!
デバッグ
- Edgeでは、F12キーを押してデバッガータブをクリックします。
- 最初のlocalhostフォルダ、次にscripts/app.tsを参照してください。
- returnを含む行にブレークポイントを設定します。
- ボックスに文字を入力して、ブレークポイントがTypeScriptコードでヒットし、検査が正しく機能することを確認します。
おめでとうございます。TypeScriptフロントエンドを持つ独自の.NET Coreプロジェクトを構築しました。