【问题标题】:How do I change less compilation so that it doesn't add an @import statement?如何更改更少的编译以使其不添加@import 语句?
【发布时间】:2015-09-08 23:19:57
【问题描述】:

我有一个 main.less 文件。我正在运行 grunt 包:grunt-contrib-less 以生成 css。生成的 css 文件在顶部新插入了以下内容(所有其他引用都正确转换为 css):

@import url(http://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic);

咕噜声配置:

less: {
        dev: {
            src: ['<%= app_files.temp_less %>'],
            dest: '<%= wwwroot_dir %>/assets/<%= pkg.name %>-<%= pkg.version %>.css',
            options: {
                compress: false,
                ieCompat: true,
                dumpLineNumbers: "comments"
            }

这会导致浏览器错误,因为主页是通过 https 请求的,而这会通过 http 发出请求。大概这是因为较少的编译无法解析字体而发生的?我想包含字体,这样导入语句就不会出现,或者将字体的 URI 更改为://fonts.googleapis.com....以便它使用父调用方法,即 https。这样做的“正确”方法是什么?

【问题讨论】:

  • Less 编译器根本不会触及这条语句(即使会,它也无法将http 更改为https,因为编译器不知道您将如何为页面提供服务你编译你的CSS)。无论哪种方式,如果您通过https 提供页面,只需将链接更改为https(是的,fonts.googleapis.com 也可以提供)。
  • 谢谢。刚刚意识到自己
  • 是的,实际上,您当然已经走上了正确的道路。将其更改为 //fonts.googleapis.com...(您只需要自己明确地执行此操作),以便它可以与任一域一起使用。

标签: css gruntjs less grunt-contrib-less


【解决方案1】:

我刚刚意识到“编译器”所做的只是从任何@import 引用的文件中复制 css。其中之一是上述@import 声明。我只是在一个隐藏在深暗文件夹中的 less 文件中找到了我项目中的引用,并将其更改为 //fonts.googleapis.com .... 并在编译时将其拉入。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-09-23
    • 2018-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-20
    • 2012-04-03
    相关资源
    最近更新 更多