4

"@angular/core": "~8.0.0",

带有 scss 样式选项的脚手架 Angular 8 项目

我在组件 scss 文件中有如下所述的代码

背景: url("/assets/images/vector-icon.png") 不重复 25%;

在最终构建时使用命令

ng build --prod --base-href="/website/" --deploy-url="/website/"

将构建放在子文件夹根/webside

除背景图像路径外,一切正常

我已经通过 ip/website/assets/images/vector-icon.png 尝试过,那时我能够获得图像。

如果我不想更改每个 css 文件的路径怎么办。

任何帮助,将不胜感激。提前致谢

4

5 回答 5

13

解决办法是把 "rebaseRootRelativeCssUrls": true 放在 angular.json 文件中。

资产之前的 / 是正确的。( url(/assets/img...) )

 "build": {
          "builder": "@angular-devkit/build-angular:browser",
          "options": {
           ...
           "rebaseRootRelativeCssUrls": true

于 2019-11-27T14:04:07.170 回答
4

不要使用/之前的资产

background: url("assets/images/vector-icon.png") no-repeat 25%;

附言。该assets/images文件夹必须包含此图像。

聚苯乙烯。确保此路径正确。

于 2019-06-17T06:56:00.260 回答
1

我自己也遇到过这个问题。而不是/assets...,使用src/assets.... 确保你不放/之前src

于 2019-12-04T07:38:43.477 回答
0

尝试这个:

background: url("/src/assets/images/vector-icon.png") no-repeat 25%;
于 2019-11-04T15:08:30.230 回答
-1

首先,您需要检查转到资产文件夹并检查该文件是否存在。如果文件存在,请尝试以下行

background: url('./assets/images/vector-icon.png') no-repeat 25%;
于 2019-06-17T07:02:35.683 回答