0

編集:したがって、これによるとそれは不可能です。これは本当に残念です。インポートで変数をサポートしてバンドルおよび圧縮するライブラリを探す必要があります。

次の LESS を解析するためにBundleTransformer.Lessを取得しようとすると問題が発生します。

// There is a path to Startup framework
@startup-basePath: "../../../";

@import '@{startup-basePath}flat-ui/less/config.less';
@import '@{startup-basePath}flat-ui/less/mixins.less';

そして、次のエラーが発生しています。

You are importing a file ending in .less that cannot be found.":"/lib/startup/samples/template/less/@{startup-basePath}flat-ui/less/config.less

ファイルは存在しますが、ご覧のとおり、場所の文字列の変数を解析していません。VS2013 の Web Essentials では、LESS ファイルのコンパイルと CSS の出力に問題はありません。問題は BundleTransformer またはそれを設定した方法にあると思われます。次のバージョンを使用しています。

Id                             Version              Description/Release Notes                                                                                                                                      
--                             -------              -------------------------                                                                                                                                      
BundleTransformer.Core         1.8.0                Bundle Transformer - a modular extension for System.Web.Optimization (aka Microsoft ASP.NET Web Optimization Framework). Classes `CssTransformer` and `JsTra...
BundleTransformer.Less         1.7.16               BundleTransformer.Less contains translator-adapter LessTranslator. This adapter makes translation of LESS-code to CSS-code. Also contains HTTP-handler LessA...
BundleTransformer.Yui          1.8.0                BundleTransformer.Yui contains 2 minifier-adapters: `YuiCssMinifier` (for minification of CSS-code) and `YuiJsMinifier` (for minification of JS-code). These...

Umbraco 7 を使用しているため、これらのバージョンを使用する必要があり、Umbraco を壊さずに Newtonsoft.Json を更新することはできません。

私のバンドル構成ファイルは次のようになります。

public static void RegisterBundles(BundleCollection bundles)
{
    bundles.UseCdn = true;

    var nullBuilder = new NullBuilder();
    var nullOrderer = new NullOrderer();

    // CSS + LESS
    var libCSS = new CustomStyleBundle("~/libCSS");
    libCSS.Include(
        "~/Content/font-awesome.css",

        // LESS
        "~/lib/startup/samples/template/less/style.less");

    libCSS.Orderer = nullOrderer;

    bundles.Add(libCSS);
}

問題は、Less トランスフォーマーが正しく登録されていないことにあると思いましたが、インストール手順に忠実に従いました。LESS バージョンのドキュメントを参照してください。この問題の解決に役立つ、私が見逃している何かを誰かが見ることができますか、または私が試すことができる何かを誰かが推奨できますか?

すべての助けに感謝します。

4

3 に答える 3

0

BundleTransformer.Less は、ファイル パスでの文字列補間をサポートしていません (「文字列補間はサポートされていませんか?」の説明を参照してください)。

更新: BundleTransformer.Less バージョン 1.9.92 では、ファイル パスの補間がサポートされるようになりました。

于 2014-04-29T11:54:25.880 に答える
0

私もこのライブラリを試しましたが、失敗しました:/

LESS をコンパイルするための最適なソリューションは、node.js パッケージの LESS ( https://www.npmjs.org/package/less ) または Recess ( http://twitter.github.io/recess/ ) です。

Web プロジェクトをデプロイした後、LESS ファイルは変更されないため、各アプリケーションの初期化中に css を生成する必要はありません。

アプリケーションのビルド前または LESS ファイルの保存後に CSS を生成することもできます。

興味があれば、より多くの情報を提供できます。

于 2014-02-27T13:11:07.130 に答える