Angular / SCSS图像url相对

时间:2018-05-08 09:00:37

标签: angular sass relative-path

情况:

  • 此项目必须使用第三方CSS文件。
  • CSS文件使用图片网址中的相对路径(例如网址(' ../ images / logo.png')
  • 这些文件一直由提供者进行更新(因此,每次更新时都不能重写路径)
  • 这些将用于Angular6 / SCSS项目

结构示例:

- src
   | - styles.scss
   | - app
   | - assets
          |- third-party
          |          |- styles      
          |          |      |- general.scss
          |          |- images
          |          |      |- logo.png
          |          |- import.scss
          |- styles/
          |- images/

angular.json指的是两个stylessheets:

        "styles": [
          "src/assets/third-party/imported.scss",
          "src/styles.scss"
        ],

更多信息

  • 第三方/样式文件夹中有很多文件,因此" import.scss"已写入限制Angular.json中描述的样式表数量
  • 第三方scss文件也可以在他们自己的子文件夹中(yay),因此它不能将import.scss存储在thrid-party/styles文件夹中

问题

  • general.scss(以及所有其他兄弟姐妹)通过亲戚路径引用图像(和字体),例如url('../images/logo.png');
    • 除非路径被修改(例如相对于import.scss)或者所有第三方/样式文件都被添加到cli(angular.json),相对路径会发出启动。请参阅以下错误。

错误消息:

 Can't resolve '../images/logo.png' in '<project root>\src\assets\third-party\'

建议的方法是什么?导入角度cli / angular.json中的所有第三方样式表或导入/包含这些样式表在中间&#34;桶&#34;文件类似于import.scss

NB。我知道这个话题引起了很多话题,但是我还没有找到一个明确的回答:#34; no&#34;或者一个干净的修复。

0 个答案:

没有答案