ASP.net:应用变量无变化

时间:2016-04-06 23:48:27

标签: twitter-bootstrap less

我在使用较少的文件时非常陌生,我试图在变量中更改某些常量的值。

我已经尝试了许多类似herehere所述的解决方案。 我正在努力,因为即使我改变了change.less文件,重新定义了我想要更改的常量,浏览器也会显示与前一个变量相同的输出。因为它根本没有改变。

我使用Web Compiler重新编译了我修改过的所有文件。我还尝试使用" Build->重新编译解决方案中的所有文件"菜单项,没有成功。我使用右键菜单项" Web Compiler-> Compile File"将文件添加到compilerconfig.json中。我还尝试直接从Task Runner Explorer运行编译器。一切似乎都在编译过程中起作用,但是当我重新启动网站时(我仍然使用IIS Express来调试网站),这些更改都没有应用。

我试图改变的是常数:

    @table-cell-padding:            8px;
    @table-condensed-cell-padding:  5px;

将引导表的样式更改为更紧凑的表。我成功模拟了此更改,直接使用Chrome浏览器检查器修改了填充值。我成功完成了它也改变了style.css中的填充,现在在bootstrap.css之前定义了布局:

    <link rel="stylesheet" href="~/css/style.css" />
    <link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.css" />

我尝试在单独的(../shared)文件夹中创建一个新的 custom.less ,调用bootstrap variables.less文件,如下面的代码所示。

    @import "../less/variables.less";

    @table-cell-padding:            5px;
    @table-condensed-cell-padding:  2px;

没有成功。

使用Chrome进行调试我发现,无论我做什么,代码检查始终显示常量的前值,即使这些常量也在variables.less文件中也已更改。

任何建议都表示赞赏。

1 个答案:

答案 0 :(得分:0)

我刚刚发现问题是另一个bootstrap.css文件(在\ bootstrap \ dist \ css中)隐藏已编译的文件夹(在\ bootstrap \ less中)。

我必须正确设置使用Web编译器生成的compilerconfig.json来覆盖_Layout.cshtml指向的bootstrap.css文件。

因此,我建议为变量创建自定义较少文件的操作如下:

  • 在variables.less文件的相同或并行目录(例如:../shared)中创建custom.less文件;在自定义文件中添加对variables.less文件的引用和常量的新定义(例如:表格的单元格填充);

    @table-cell-padding:            5px;
    @table-condensed-cell-padding:  2px;
    
  • 在variables.less

    之后不久,在bootstrap.css文件中添加对custom.less文件的引用
    // Core variables and mixins
    @import "variables.less";
    @import "../shared/custom.less";
    @import "mixins.less";
    
  • 使用Web编译器编译修改后的较少文件(如果没有,请从Tools-&gt; Extensions and Updates安装);

  • 检查bootstrap.css,将自定义值正确更改为您在custom.less中设置的值;
  • 在compilerconfig.json中检查您使用编译创建的文件bootstrap.css与_Layout.cshtml中引用的文件相同;如果是,修改json文件的outputFile以覆盖_Layout.cshtml文件中引用的bootstrap.css;
  • 重建并重新启动网站;