web-dev-qa-db-ja.com

Visual Studio 2017 ASP.NET MVCコアテンプレートでのBowerの置き換え

最近、Visual Studio 2017(15.6.3)を使用してASP.NET MVC Coreプロジェクトをゼロから作成しました。通常のJavaScriptフレームワークを発見しました。

  • bootstrap
  • jquery
  • jquery-validation
  • jquery-validation-unobtrusive

しかし、残念ながら、すべてのバウアーのサポートはなくなりました! bower.json.bowerrc、および「Manage Bowerパッケージ...」はもうありません。

enter image description here

Visual StudioのASP.NET MVC Coreテンプレートの何が問題になっていますか?バウアーは時代遅れになりましたか?

この質問を Visual Studio 2017でbowerパッケージを使用する方法 Bowerが非推奨の場合に複製しないでください!廃止されたテクノロジーを指す修正が好きではありません。

BowerをNPMに置き換える最も簡単な(最も直感的な)方法は何ですか? Bowerが.bowerrc{ "directory": "wwwroot/lib" }でしたように?

21
Marcel

ボワーは実際に死んでいます。

Microsoftには Library Manager(LibMan) と呼ばれる軽量で現在のところこれに対するレーダーソリューションがあります。

これは、非常にシンプルなUIを備えたjsonベースのソリューションです。ダウンロードするファイルを制御できます(1つだけ必要なときに何百ものファイルをダウンロードする必要はありません)。

Mads KristensenがBuild 2017のプレビューの小さなイントロを作成しました。 (ビデオは43分前後の正しい場所から始まるはずです)。

これを書いている時点ではまだプレビュー中ですが、Visual Studio 15.8でリリースされる予定です。

その前に試してみたい場合は、 GitHub Repo または Visual Studio Marketplace - この質問の解決策 =

あなたはまだnpmなどを使用することができます-これは代わりに(または同様に)これを使用するMicrosoftの理由です-Visual Studio Marketplaceから:

この拡張機能を使用する理由

  • 現在別のパッケージマネージャーを使用していないアプリの場合
  • Bowerとnpmが過剰だと思うプロジェクトの場合
  • Bowerまたはnpmを使用したくない開発者向け
  • ツールのシンプルさを重視する開発者向け
  • カスタムまたはプライベートパッケージ/ファイルを使用する場合
  • NuGetがコンテンツパッケージをインストールできないASP.NET Coreアプリの場合
14
niico

バウアーは死んでいます。バウアーのチームはYarn(NPMの追加)を参照しています。

Visual StudioにはいくつかのNPMサポートがあるため、それを選択します。

プロジェクトのルートにpackage.jsonを作成します(Todoの場合、プロジェクトを右クリックし、アイテムを追加してNPMを検索します。npm Configuration Fileが見つかります):

{
  "name": "SomeName",
  "version": "1.0.0",
  "private": true,
  "dependencies": {
    "bootstrap": "3.3.7",
    "jquery": "3.3.1",
    "jquery-validation": "1.17.0",
    "jquery-validation-unobtrusive": "3.2.10",
    "jquery-ajax-unobtrusive": "3.2.4",
  }
}

Jsonファイルに変更を加えるたびに、単純なプレス CTRL + S。 Visual Studioは自動的にNPMを呼び出し、パッケージを復元します。また、パッケージ名とバージョン番号についての情報があります。

自分自身を移行した後、npmでパッケージを見つけられなかったことを思い出せません。しかし、もしそれがあなたのためであるならば、注意してください githubリポジトリを直接参照できます

依存関係はnode_modulesフォルダーに保存されます。これは、新しいパッケージマネージャー用です。

これで、リリースのためにバンドルする必要がある問題があります(これもbowerで行うべきでした)。バンデリングは、Javascript/CSS/Imageアセットを単一のbundle.jsbundle.cssSprite.svgに結合するプロセスです。これらはwwwrootフォルダーにコピーする必要があります。

そうするために、いくつかのオプションがあります(これは質問の範囲を爆発させるので、私はいくつかにのみリンクします)。

6

Bowerはセットアップを取得するのが難しいことがわかりました。npmは十分にサポートされており、Mads KristensenのPackage Installerを使用してパッケージをインストールできます。これは、node_modulesから関連ファイル目的の場所へのフォルダー。

https://github.com/madskristensen/BundlerMinifier

https://marketplace.visualstudio.com/items?itemName=MadsKristensen.PackageInstaller

1
Mark Redman

私はちょうどnpmに固執し、asp.netコアプロジェクトのbowerを忘れることをお勧めします、私は以下のリンクでnpmを使用する方法を投稿しました、

ASP.Net core MVCでyarnを使用してインストールする方法bootstrap in wwwrootフォルダー

1
Eniola.A

次のブログは私のために機能しましたが、この問題はこの問題の反対である15.8で修正されると主張しています。

https://blogs.msdn.Microsoft.com/webdev/2018/07/05/workaround-for-bower-version-deprecation/

以下を含むように.bowerrcファイルを更新しました。

"registry": "https://registry.bower.io"

次に、bower.jsonとRestoreパッケージを右クリックしました。出来上がり!

0