无点 - 不能与MVC捆绑单独的文件中引用变量少(Dotless - Can't refer

2019-07-03 21:20发布

我希望我没有创建一个重复的话题,但我一直在寻找了两天,并不能找到一个解决这个。

我们开始在MVC4一个新的项目,我们有引导的版本少装。 我遇到的问题是,当我尝试引用在一些类或变量bootstrap.less ,我global.less ,或当前文件以外的任何事情。 我可以创建在当前文件的顶部一个变量,并使用它就好了,但是如果我想使用的东西出一个单独的文件中,我不得不@import它。 这将是很好,如果我的整个应用程序的少是一个文件,但我不得不文件@import 4+到每个页/部分少的文件创建。

我加入了MVC4捆绑除了从https://gist.github.com/2002958

这个问题,因为我看到它,是每个文件进行评估并将其转换为独立的CSS。 我试图简化流程,并在少束从所有文件建立一个巨大的较少的字符串,然后将它们转换( Less.Parse(lessString)但我得到的错误:

“你在导入结束.LESS的文件无法找到”

因此,这里是我的终极问题:有没有办法简单地解析较少的字符串,而不存在一个物理文件中引用? 这将解决我的问题。

如果由于某种奇怪的原因是不可能的,有没有已经到位的组件或过程,我不知道这涅槃之前实际上捆绑文件一起?

关于这个问题的任何光线会因为我在圈子里很纺试图得到这个工作可以理解的。

这个问题还张贴带点组:
https://groups.google.com/forum/?fromgroups#!topic/dotless/j-8OP1dNjUY

Answer 1:

这sollution为我工作:
我有两个的NuGet包:
dotless
dotless adapter for system.web.optimization

web.config我有这样的行

<configuration>
    <configSections>
        <section name="dotless" type="dotless.Core.configuration.DotlessConfigurationSectionHandler, dotless.Core" />
    </configSections>
    <system.web>
        <httpHandlers>
            <add path="*.less" verb="GET" type="dotless.Core.LessCssHttpHandler, dotless.Core" />
        </httpHandlers>
    </system.web>
    <system.webServer>
        <validation validateIntegratedModeConfiguration="false" />
        <handlers>
            <add name="dotless" path="*.less" verb="GET" type="dotless.Core.LessCssHttpHandler,dotless.Core" resourceType="File" preCondition="" />
        </handlers>
    </system.webServer>
    <dotless minifyCss="true" cache="true" web="false" disableParameters="true" />
</configuration>

请注意,您应该用自己的需要定义带点PARAMS。

BundleConfig.cs

public static void RegisterBundles(BundleCollection bundles)
{
    bundles.Add(new LessBundle("~/bundles/styles/").Include(
        "~/Content/site.less"
    ));
    BundleTable.EnableOptimizations = True; //false if you want to debug css
}

和finaly Site.less

/*i have to redefine some bootstrap mixin and variables, so importing bootstrap and extending happings there*/
@import "bootstrap-extends.less";

/* all other needed less should be included here too
   for example:
   @import "admin.less";
   @import "controls.less";
   etc
*/

body{

}

site.lessbootstrap-extends.less的内容文件夹内。
bootstrap-extends保持其在usualy列出的所有需要的指令@import ~/Content/bootstrap/bootstrap.less

我希望这有帮助



Answer 2:

你有没有到LESS束变压器 ?



文章来源: Dotless - Can't reference less variable in separate file with MVC Bundling