首页 文章

Webpack,sass,用url导入css

提问于
浏览
1

我导入一个css文件,其中包含一个相对URL声明的font-face .

@import '~materialize-css/dist/css/materialize.min';

.register-container {
  @extend .row;
}

我使用raw-loader!sass-loader链,因为它是一个角度组件样式 .

{
    test: /\.scss$/,
    include: PathHelper.getPathFromRoot('src', 'app', 'modules'),
    loader: 'raw!sass'
},

当我这样做时,正在复制实体文件的内容 . 当我加载页面时,它会尝试从错误的目录加载字体,因为相对路径是错误的 .

字体工作,因为我在不同的文件中加载不同的加载器链 . 链是:css!resolve-url!sass?sourceMap

所以字体是存在但问题是css的内容被复制两次并且它从前面路径多次加载字体

我能为此做些什么吗?那么sass loader会知道不要复制css内容吗?

1 回答

  • 0

    可能有帮助?

    $font-url: unquote("somefile.css");
    @if variable-exists(font-url) {
      @import url($font-url);
    } @else {
      @error "sorry no dice";
    }
    

    String Functions

    unquote($string)
    

    从字符串中删除引号 .

    - (Sass::Script::Value::String) unquote($string)
    

    从字符串中删除引号 . 如果字符串已经不加引号,则将返回未修改的字符串 .

    Examples:

    unquote("foo") => foo
    unquote(foo) => foo
    

相关问题