Visual Studio 2017でAngular CLI生成プロジェクトを実行できますか?
Hello Worldアプリケーションを生成しようとしましたが、Visual Studio 2017で実行できません。
ng new HelloWorld
フォルダーをWebサイトとして開き、開始をクリックしました。他の誰かがこれを解決しましたか?
「読み込み中...」は永久に実行されます。
答えはいいえ、VSはAngular CLIプロジェクトを実行できません。 Angular CLIアプリケーションには、プロジェクトの処理方法をVSに指示する.*proj
ファイルがありません。それがなければ、VSは単なるコードエディターです。
Angular 4アプリケーションを開発/デバッグする場合は、VS以外の別のIDEを検討することをお勧めします。 VS Code を使用します。これを使用すると、F5キーを押してAngular CLIアプリケーションのデバッグを簡単に開始できます。開発中にアプリケーションを実行するには、引き続きCLIからng serve
が必要です。
VS 2017を使用してAngular開発を行う場合は、VSで利用可能な SPA Templates をご覧ください。
これらは、ASP.Net Core MVCとAngular 4.の組み合わせです。これらはそれほど悪くはありません。しかし、Microsoftのやり方が少し混ざっています。つまり、テンプレートはAngularの慣習であることがわかっているものに従う必要はありません。彼らはマイクロソフトになっています。それを乗り越えることができれば、これらは良いことです。
私は彼らと遊んでみましたが、正直に言って、彼らは何かを素早く立ち上げて実行するためにうまく機能していると言えます。 VSがIDEの選択肢である場合、それは素晴らしいことです。もちろん、Angular CLIはこれらと一緒に使用できません。少なくとも、私はそれを試していないし、おそらく試していないだろう。
これがお役に立てば幸いです。
更新(2017-08-17)
Visual Studio 2017 15.3には、通常のWebアプリケーション.NET CoreプロジェクトテンプレートとしてAngularテンプレートが組み込まれています。 ReactおよびReact/Reduxテンプレートも含まれています。テンプレートを選択肢として表示するには、[新規ASP.NETコアアプリケーション]ダイアログでASP.NET Core 2.0を選択する必要があります。 1.1以下を選択した場合、テンプレートはオプションのリストに表示されません。
更新(2018-02-23)
Microsoftは、ASP.NET Core 2.0アプリケーションで使用するいくつかの新しいテンプレートを提供しています。あなたはそれらについての詳細を見つけることができます こちら 。新しい Angularテンプレート には、 Angular CLI のサポートが含まれています。したがって、CLIに精通している場合、これはもう少し家のように感じるはずです。つまり、 ng g
コマンドを使用して、この新しいテンプレートでコードを生成できます。 SSR はまだテンプレートの一部ですが、機能させるために少しコーディングする必要がありますが、大したことではありません。
更新(2018-08-28)
この回答に対するコメントで指摘されているように、このアップデートの時点で、ASP.NET Core AngularテンプレートはAngular 5(5.2.0、正確に)。 Angular CLIバージョン6以降で利用可能な ng update
コマンドを使用して、ClientApp(Angularソリューションの一部)ASPテンプレートがバージョン5から6にビルドする。これを機能させるには、Angular CLIバージョン6をマシンにグローバルにインストールする必要があります(npm i -g @angular/cli
)。
テンプレートリポジトリの commits に基づいて、MSがAngular 6.のサポートを追加したことを知っています。それが広く利用可能になる時期は私にはわかりません。それが出てきたら、将来のアップデートを探してください!
はい、Visual Studio 2017でAngular CLI生成プロジェクトを実行できます。ただし、Angularアプリを提供するAsp.Net Webアプリに含める必要があります。次の手順を使用できます。
VSプロジェクト(たとえば、「AngularApp」)を作成します。 「Asp.Net Core Web Application」および「Empty」テンプレートを選択します。
.csprojファイルの<PropertyGroup>に次を追加します。これにより、VSはTypeScriptをトランスコンパイルしません。 (angular-cliを使用します)。
< TypeScriptCompileBlocked > true < /TypeScriptCompileBlocked >
親フォルダーでAngularAppのコマンドプロンプトを開き、angular-cliを使用してアプリを作成します。
ng new AngularApp
.angular-cli.jsonを編集し、「outDir」を「dist」から「wwwroot」に変更します。これは、Webアプリが期待する場所です。
Startup.csを編集し、「app.Run…」を置き換えます。方法:
app.UseDefaultFiles();
app.UseStaticFiles();
Task Runner Explorerで、カスタムビルドタスク(ngビルド)を「ビルド後」イベントにバインドします。
アプリをビルドして実行します。
Steve SandersonはCLIをDotNet Angularテンプレートに統合する作業を行っているようです。 新しいAngular CLIベースのテンプレートを追加
このレポをご覧ください Angular-CSharp
リポジトリからのこのミドルウェアは、私を際限なく興奮させます。
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller}/{action=Index}/{id?}");
});
app.UseSpa(spa =>
{
spa.Options.DefaultPage = "/dist/index.html";
spa.Options.SourcePath = "ClientApp";
/*
// If you want to enable server-side rendering (SSR),
// [1] In AngularSpa.csproj, change the <BuildServerSideRenderer> property
// value to 'true', so that the SSR bundle is built during publish
// [2] Uncomment this code block
spa.UseSpaPrerendering(options =>
{
options.BootModulePath = $"{spa.Options.SourcePath}/dist-server/main.bundle.js";
options.BootModuleBuilder = env.IsDevelopment() ? new AngularCliBuilder(npmScript: "build:ssr") : null;
options.ExcludeUrls = new[] { "/sockjs-node" };
});
*/
if (env.IsDevelopment())
{
spa.UseAngularCliServer(npmScript: "start");
}
});
}
素晴らしい仕事スティーブ!うまくいけば、すぐに準備ができます。
更新:利用可能なプレビューがあるように見えます: Microsoft.DotNet.Web.Spa.ProjectTemplates :: 2.0.0-preview1-final
これらの手順に従って、Visual Studio 2017で新しい最新リリースAngularアプリケーションを作成できます。開始する前に、node.jsとnpmをマシンとシステムパスにインストールする必要があります。
<Target Name="Build Angular" Condition="'$(Configuration)' != 'Release'" BeforeTargets="Build">
<Message Text="Angular Build In Progress" Importance="high" />
<Exec Command="ng build" WorkingDirectory="ClientApp" />
</Target>
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.Use(async (context, next) =>
{
await next();
context.Request.Path = "/index.html";
await next();
});
app.UseStaticFiles();
}
プロジェクトディレクトリでCMDプロンプトを開きます。
タイプnpm install -g @angular/cli
ng new <name> --directory ClientApp
と入力し、Angularアプリケーションの構成方法に関する質問に答えます。 <name>をAngularアプリケーションの名前に変更します。
Visual Studio 2017で、ファイル\ ClientApp\angular.jsonを編集します。 outputPath
を含む行を検索し、"outputPath": "../wwwroot",
に変更します。
Visual Studio 2017で、ファイル\ ClientApp\tsconfig.jsonを編集します。 outDir
を含む行を検索し、"outDir": "../wwwroot/out-tsc",
に変更します。
この時点で、Visual Studio 2017でAngularアプリケーションを実行およびデバッグできます。注意すべき点は、ClientAppフォルダー内のすべてのファイルのビルドアクションがなしであることです。つまり、これらを編集しても、Visual Studioは変更を検出せず、次回実行時に再構築します。これを修正するには、各ファイルに応じてビルドアクションを変更します。
インポートする既存のAngularアプリケーションがある場合は、手順8および9をスキップし、代わりに、プロジェクトのルートにあるClientAppというフォルダーにアプリケーションをコピーします。
AngularにVS 2017テンプレートを使用しているのか、VSでWebサイトとしてAngular CLIプロジェクトを開いているのかが明確ではありません。
NPMとAngular CLIで作成されたAngular 6アプリケーションに取り組んでいます
常にVSで開き、そこでコードを作成しますが、常にコマンドプロンプトから実行します。
コマンドプロンプトを開き、プロジェクトディレクトリに移動してコマンドを実行します
ng serve -o
2017年にangular cliスクリプトを実行することは間違いなく可能です。したがって、プロジェクトの実行は非常に簡単です。ただし、Visual Studioはまだプロジェクトを実行していません。 Visual Studioから開始するだけです。
これを行う方法の1つは、package.json
にスクリプトコマンドを追加することです
例えば:
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
}
実際、これらのスクリプトは、プロジェクトがangular CLIによって生成されるときにデフォルトで追加されます。
次に、スクリプトの呼び出しは、Node.jsインタラクティブウィンドウからの.npm [ProjectName] run-script build
またはプロジェクトを実行する.npm [ProjectName] run-script start
のように簡単です。
インストールする場合は、nugetパッケージマネージャーでInstall-Package Angular4 -Version 1.1.0
を使用して、次の手順を実行します。
Angular 4
*********
Prerequisites
`````````````
1. Download and Install Node js
2. Install Visual studio 2015 update 3 or above
3. Download and Install TypeScript 2.6.1 for Visual Studio 2015 (https://www.typescriptlang.org/#download-links)
Follow the steps to install package.
````````````````````````````````````
1. Create an new project with empty template and include dependencies for MVC and WebApi to the project
2. Install the package using command 'Install-Package Angular4 -Version 1.1.0'
Follow the steps after package installation
```````````````````````````````````````````
1. Open Node.js Command Prompt
2. Navigate to project location(use commands such as pushd,cd etc)
3. Run the command 'npm install'
Visual Studio 2017/2015でAngular4プロジェクトを作成するのに役立ちます。
TypeScriptプロジェクトタイプを使用する必要があります。webpackを使用する場合は、組み込みのVisual Studioタイプスクリプトのコンパイルを無効にします。
次に、 "ng new"コマンドでangular cliが生成したディレクトリ全体をTypeScriptプロジェクトのルートにコピーする必要があります。
これで、インテリセンスと開発に必要なすべてのものが手に入りました。個人的には、powershellスタンドアロンWindowsアプリケーション内でcliを使用することを好みますが、パッケージマネージャーコンソールはまったく同じpowershellなので、ユーザー次第です