2

アプリケーションのスクリプトとスタイルのブートストラップをバンドルしようとしています。デバッグは機能していますが、公開するときに、スクリプトとスタイルを読み込まないでください。

BundleConfig (BootstrapBundleConfig) を追加します

public static void RegisterBundles(BundleCollection bundles)
    {
        bundles.Add(new ScriptBundle("~/js").Include(
            "~/Scripts/jquery-{version}.js",
            "~/Scripts/jquery-ui-1.10.4.custom.js",
            "~/Scripts/jquery-migrate-{version}.js",
            "~/Scripts/bootstrap.js",
            "~/Scripts/gridmvc.js",
            "~/Scripts/gridmvc.lang.fa.js",
            "~/Scripts/jquery.validate.js",
            "~/scripts/jquery.validate.unobtrusive.js",
            "~/Scripts/jquery.validate.unobtrusive-custom-for-bootstrap.js",
            "~/scripts/entitypicker.js",
            "~/scripts/js-persian-cal.js",
            "~/scripts/json2.js",
            "~/scripts/bootbox.js",
            "~/Scripts/jalali.js",
            "~/Scripts/calendar.js",
            "~/Scripts/calendar-setup.js",
            "~/Scripts/lang/calendar-fa.js"
            ));
        bundles.Add(new StyleBundle("~/content/css").Include(
             "~/Content/bootstrap.css",
             "~/Content/bootstrap-responsive.css",
             "~/Content/bootstrap-mvc-validation.css",
             "~/Content/themes/ui-lightness/jquery-ui.css",
             "~/Content/js-persian-cal.css",
             "~/Content/entitypicker.css",
             "~/Content/gridmvc.css",
             "~/Content/aqua/theme.css",
             "~/Content/calendar-system.css"
            ));

    }

これをグローバルに登録する

BootstrapSupport.BootstrapBundleConfig.RegisterBundles(System.Web.Optimization.BundleTable.Bundles);

_layaout でスタイル/スクリプトを設定します

<link href="@Styles.Url("~/content/css")" rel="stylesheet" />
@Scripts.Render("~/js")

しかし、それを公開し、View Page Sourceを開くと

    <link href="/Content/css?v=65vDyivXbF9ucPBBLls9CVnwUcCNass7hOMNUEXbN-I1" rel="stylesheet" />

このファイルを開くと、最初の行でエラーが発生します。

/* Minification failed. Returning unminified contents.
(962,1): run-time error CSS1019: Unexpected token, found '@charset'
(962,10): run-time error CSS1019: Unexpected token, found '"UTF-8"'
(962,17): run-time error CSS1019: Unexpected token, found ';'
(994,1): run-time error CSS1019: Unexpected token, found '@-webkit-keyframes'

Google で検索し、さまざまな方法を使用しましたが、エラーは解決しません。

  1. すべてのスタイルを特別なパス (Content/Them/Bootstrap) に追加して使用しますnew StyleBundle("~/content/Them/Bootstrap")

  2. 使用するBundleTable.EnableOptimizations = true;

他の..

4

4 に答える 4

1

これが犯人@charset "UTF-8"です。css ファイルを検索して、見つかるかどうかを確認します。これは、バンドルされた css ファイルの先頭にある必要があります。つまり、バンドル リストの最初の CSS ファイルの先頭です。そうでない場合、縮小に失敗します。

CSS ファイルに Unicode 文字がある場合によく使用されます。これは通常、font awesome のようなアイコン フォントを使用しているためです。ただし、CSS ファイルで必要ない場合は、削除してください。

于 2014-07-15T11:41:50.253 に答える
1

これは通常、css ファイルが適切にフォーマットされていない場合に発生します。http://csslint.net/を使用して CSS コードをテストしてください。

また、この行を使用する代わりに

<link href="@Styles.Url("~/content/css")" rel="stylesheet" />

あなたはこれを使うことができます

@Styles.Render("~/content/css")

RegisterBundles公開せずにこれをデバッグする場合は、次の行を のメソッドに追加できますBundleConfig

BundleTable.EnableOptimizations = true;
于 2014-07-15T06:53:52.270 に答える
0

https://stackoverflow.com/a/19544226/2440976 -これは私が信じている二重の質問です - これがおそらく簡単な答えです(私にとってはうまくいきました!)

(回答から)IIS Config>Authentication>RightClickOn Anonymous Auth>Editをクリック>アプリケーションプールのIDを確認

于 2016-12-16T14:59:20.543 に答える
0

あなたのCSSには、縮小時にいくつかの「問題」があります。これは、不適切な css または不適切な最適化が原因である可能性があります。

CSS を検証して、原因を特定できるかどうかを確認してください。

BundleTable.EnableOptimizations = falseCSS を縮小しない回避策として使用します。

ローカル ホストでこれを「デバッグ」するには、Web 構成を変更し、属性 debug=true を削除します (これにより、開発マシンで CSS が縮小されます)。

また、バンドルのフォルダー ベースが異なると、スタイルシートの相対 URL (背景画像など) が機能しなくなります。

于 2014-07-15T06:44:04.810 に答える