「Nancy」を編集中

ナビゲーションに移動 検索に移動

警告: ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。ログインまたはアカウントを作成すれば、あなたの編集はその利用者名とともに表示されるほか、その他の利点もあります。

この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。

最新版 編集中の文章
5行目: 5行目:
  
 
==未分類==
 
==未分類==
*[[Nancy/静的コンテンツを扱う]]
+
===Minify & Bundleを使う===
*[[Nancy/Minify & Bundleを使う]]
+
ASP.NET 4から搭載されたMinify & BundleをNancyから使ってみる。
 +
 
 +
====NuGetから必要なパッケージを入れる====
 +
[[ASP.NET]]関連のほとんどが、いつの間にか[[ASP.NET]]本体から分離されて[[NuGet]]へ移行している。[[Linux]]上の[[Mono]]でも[[ASP.NET]]を使えという思し召しらしい。[[Xamarin Studio]]からも一発で入る。
 +
*https://www.nuget.org/packages/Microsoft.AspNet.Web.Optimization/
 +
 
 +
====web.configを編集====
 +
<pre>
 +
<configuration>
 +
  <configSections>
 +
      <!--  追加 -->
 +
      <section name="razor" type="Nancy.ViewEngines.Razor.RazorConfigurationSection, Nancy.ViewEngines.Razor" />
 +
      <!--  追加 -->
 +
  </configSections>
 +
 
 +
  <!--  追加 -->
 +
  <razor disableAutoIncludeModelNamespace="false">
 +
    <assemblies>
 +
      <add assembly="System.Web.Optimization" />
 +
      <add assembly="System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
 +
    </assemblies>
 +
    <namespaces>
 +
      <add namespace="System.Web.Optimization" />
 +
    </namespaces>
 +
  </razor>
 +
  <!--  追加 -->
 +
 
 +
  <system.webServer>
 +
    <!--  追加 -->
 +
    <modules runAllManagedModulesForAllRequests="true"> 
 +
      <remove name="BundleModule" /> 
 +
      <add name="BundleModule" type="System.Web.Optimization.BundleModule" /> 
 +
    </modules>
 +
    <!--  追加 -->
 +
  </system.webServer>
 +
</configuration>
 +
</pre>
 +
 
 +
====バンドルを登録する====
 +
どこでもいいので登録内容が記述されたメソッドを作る。
 +
純正に右に倣えで「App_Start/BundleConfig.cs」にしておくと無難だと思われる。
 +
<source lang="csharp">
 +
using System;
 +
using System.Web.Optimization;
 +
 
 +
namespace Test
 +
{
 +
    public class BundleConfig
 +
    {
 +
        public static void RegisterBundles(BundleCollection bundles)
 +
        {
 +
            bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
 +
                "~/Scripts/jquery-{version}.js"));
 +
        }
 +
    }
 +
}
 +
</source>
 +
 
 +
サーバー起動時に登録する。
 +
Global.asax.cs(無ければ作る)のApplication_Startメソッドから上記の登録メソッドを呼び出す。
 +
<source lang="csharp">
 +
using System;
 +
using System.Web.Optimization;
 +
 
 +
namespace Test
 +
{
 +
    public class Global : System.Web.HttpApplication
 +
    {
 +
        protected void Application_Start(Object sender, EventArgs e)
 +
        {
 +
            BundleConfig.RegisterBundles(BundleTable.Bundles);
 +
        }
 +
    }
 +
}
 +
</source>
 +
 
 +
====Scripts.Renderの違い====
 +
ASP.NET 4で標準の記述方法が使えない。
 +
@Scripts.Render("~/bundles/jquery")
 +
以下を使うことで代用する。
 +
@Html.Raw(Scripts.Render("~/bundles/jquery").ToString())
 +
ToStringを忘れると[[Razor]]が落ちる。凄い嵌った。
  
 
==関連項目==
 
==関連項目==

MonoBookへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細はMonoBook:著作権を参照)。 著作権保護されている作品は、許諾なしに投稿しないでください!

このページを編集するには、下記の確認用の質問に回答してください (詳細):

取り消し 編集の仕方 (新しいウィンドウで開きます)

このページで使用されているテンプレート:

このページは 1 個の隠しカテゴリに属しています: