0

ほとんどのUIロジックがjQueryプラグインで編成されたMVC4.5プロジェクトがあります。ミニファイとバンドルによってコードを保護したい(ミニファイは保護の範囲でしか機能しないことを理解していますが、フォーマットされ文書化されたソースファイルをサーバーに残すよりも優れています)。

理想的には、開発サーバーをそのまま機能させたいと思います。ファイルは縮小されておらず、分離されています。ただし、運用サーバーにデプロイするときは、ソースファイルを削除し、縮小されたバンドルのみを使用できるようにする必要があります。また、多くの場合、私のjQueryプラグインはJavaScriptコードから他のプラグインをロードするため(私はhead.jsを使用します)、そのために@Script.Renderを使用することはできません。

組み込みのMVCバンドル、SquishIt、Bundlerなど、どのテクノロジを使用しますか、それともMSBuildとMicrosoft Axaj Minifierを使用する必要がありますか?要約すると、ソースJSファイルを削除して、本番環境で縮小されたバンドルのままにしておきたいと思います。できれば、ファイルが縮小されているかどうかに基づいて、head.js参照を変更しない方法を見つけます。

アドバイスありがとうございます。

4

1 に答える 1

1

私がここでやったことで応答すると思っただけです:

要約すると、本番環境でソース JS ファイルを公開せずに、ソース ファイルを縮小して難読化したかったのです。また、head.js でソース ファイルの URL を解決して URL をバンドルすることも必要でした。

  • 縮小されていないすべての JavaScript ファイルを、管理者ロールのみが表示できるフォルダーに配置します
  • バンドルを生成するために、ASP.NET MVC 4.5 に組み込まれているバンドルを使用しました。
  • head.js コード + 生の URL とバンドル URL の間の x-ref を含む JavaScript 配列を返す MVC コントローラーに head.js タグを向けました (BundleTable 静的オブジェクトから入手可能)。

バンドルは ASP.NET メンバーシップの外部で行われるため、ソース ファイルが管理者のみがアクセスできるフォルダーにある場合でも、バンドルが生成され、匿名ユーザーが利用できます。次に、サーバー側で生成されたバンドル URL を使用して head.js コードを動的に拡張するトリックにより、JS ファイルからのバンドルの呼び出しが処理されます。

于 2012-12-08T19:44:20.717 に答える