css - ServiceStack Bundler和子目录Less文件

标签 css less servicestack

直到最近我才使用相当尴尬的无点。由于我使用的是 VS2010,所以我的使用受到一定限制,但是我遇到了 ServiceStack Bundler,它似乎工作得很好......除了一件事之外。

我的 Less 文件使用目录结构进行分割 - 为了简化事情,如下所示:

scaffolding/my-scaffolding.less
utilities/my-utilities.less
ui/my-ui.less

每个目录都有很多文件,特别是 mixins 等。

为了将它们链接在一起,我一直在使用 @import 函数。

我的主要 less 文件 - main.less 包含以下内容:

@import "utilities/all-utilities.less"

此处列出了所有实用程序,因为它使我能够即插即用各种文件集。这段代码以前工作正常。

但是我发现 ServiceStack 不会接受更改,除非我直接通过捆绑文件单独引用所有 less 文件,这有点痛苦。

因此,我无法使用:main.less 并导入所有子文件。

相反,我必须使用:

utilities/util1.less
utilities/util2.less
utilities/util3.less

等等。

我使用ms build函数来编译。

有什么想法吗?

/* 更新 */

尝试了下面推荐的答案,但没有成功。

这是我迄今为止尝试过的:

调用包含所有 @import 声明的单个 less 文件; 编译时不会触发更新。

从捆绑文件中调用所有 less 文件,并在必要时将 @import 语句添加到 less 文件中(注意,如果没有这些, bundler 将无法编译); 使用 @import 语句多次重复 @imported 代码 - 即使使用(引用)指令,也会导致代码臃肿/不正确。

最佳答案

您应该能够将 Bundler 的 bundler.js 文件修改为 specify additional paths在处理 @import 指令时应该搜索 less:

function compileLess(lessCss, lessPath, cb) {
    var lessDir = path.dirname(lessPath),
        fileName = path.basename(lessPath),
        options = {
            paths: ['.', lessDir], // Specify search paths for @import directives
            filename: fileName
        };

    less.render(lessCss, options, function (err, css) {
        if (err) throw err;
        cb(css);
    });
}

关于css - ServiceStack Bundler和子目录Less文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28482376/

相关文章:

css - 如何删除多余的 div 包装

html - 在平板电脑 View 中折叠面板

css - Bootstrap : How to change the breakpoint where the navbar collapse ?

less - 配置 Web Essentials 编译哪些 .less 文件

mysql - 服务堆栈 OrmLite : MySQL connection pool

asp.net-mvc - ServiceStack Funq MVC html 帮助程序扩展

c# - 如何更改 ServiceStack 中的默认 ContentType?

javascript - 为什么垂直滚动卡在移动 View 中?

转换为 Django 模板时的 Javascript 问题

jquery - 修改宽度以在 Bootstrap 菜单上包裹导航栏