|
|
| (同じ利用者による、間の1版が非表示) |
| 5行目: |
5行目: |
|
| |
|
| ==未分類== | | ==未分類== |
| ===Minify & Bundleを使う===
| | *[[Nancy/静的コンテンツを扱う]] |
| ASP.NET 4から搭載されたMinify & Bundleを[[Mac]]上の[[Mono]]とNancyから使ってみる。
| | *[[Nancy/Minify & Bundleを使う]] |
| | |
| ====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]]が落ちる。凄い嵌った。
| |
|
| |
|
| ==関連項目== | | ==関連項目== |
Nancyとは、.NET向けの軽量ウェブフレームワークである[1]。
調査中