【问题标题】:@import in less file being compiled twice@import in less 文件被编译两次
【发布时间】:2014-03-31 17:12:51
【问题描述】:

这是我的问题。在我的 css 目录中,我有一个 less 目录,其中包含 page.less 和 search.less。在 page.less 中,当 grunt 符合我的 less 文件时,我使用 import 方法来呈现我的搜索样式。我最终得到page.css。在 page.css 中,搜索样式被添加了两次,即使在 page.less 文件中我只在一个地方导入它

我的 gruntfile.js 如下

  less: {
        options: {
            compress: false,
            ieCompat: false
        },
        dev: {
            dest: "css/page.css",
            src: [
                "css/less/*"
            ]
        }
    },

【问题讨论】:

  • 我不确定这是否可行,因为我不知道 Grunt 如何处理 Less 导入,而 Less 中的默认值已经是 @import 仅一次。但是您可能想尝试使用@import (once) 'yourfile.less' 看看会发生什么。
  • 模式src: ["css/less/*"] 正在编译所有文件。此模式应仅包含未导入其他文件的文件,否则您将再次包含文件B(导入文件A)和文件A 本身。在compass-sass 中,下划线用于标识正在导入其他文件的文件,而“主”文件(导入其他文件)没有下划线。
  • @WallaceSidhrée 哇,真不敢相信我错过了,谢谢你的解释。它现在可以工作了。
  • @WallaceSidhrée:这听起来值得我回答。你应该这样发布。
  • @ScottS:发布我的评论作为答案,因为它已被证明是有用的...... ;)

标签: less gruntjs


【解决方案1】:

模式src: ["css/less/*"]正在编译所有文件。

此模式应该只包含未导入其他文件的文件,否则您将包含文件 B(导入文件 A)和文件 A 本身 - 再次。

在 compass-sass 中,下划线用于标识正在导入其他文件的文件,而“主”文件(导入其他文件)没有下划线。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-13
    • 1970-01-01
    • 2014-03-06
    • 1970-01-01
    相关资源
    最近更新 更多