我正在努力让SVG渐变起作用,而且从我在网上看到的,诀窍是使用APP_BASE_HREF
而不是定义<base href="/">
。这确实解决了问题,但它也创造了一个新问题。如果我深入一层/home/test
,则无法加载bundle.js脚本。
错误
GET http://localhost:4200/home/inline.bundle.js
goals:47 GET http://localhost:4200/home/polyfills.bundle.js
goals:47 GET http://localhost:4200/home/styles.bundle.js
goals:47 GET http://localhost:4200/home/vendor.bundle.js
goals:47 GET http://localhost:4200/home/main.bundle.js
goals:47 GET http://localhost:4200/home/inline.bundle.js
goals:47 GET http://localhost:4200/home/polyfills.bundle.js
goals:47 GET http://localhost:4200/home/styles.bundle.js
goals:47 GET http://localhost:4200/home/vendor.bundle.js
goals:47 GET http://localhost:4200/home/main.bundle.js
它正在寻找http://localhost:4200/main.bundle.js
,但现在基础参考不正确,它将其更改为/home/main.bundle.js
设置此方法的正确方法是什么?
APP_BASE_HREF
休息时间
上面的导入但修复了我的SVG <base href="/">
这有效
除了我的SVG渐变,其中url(#gradient)
现在引用了错误的地方而无法找到我的defs。这是我的设置:
app.module.ts
import { CommonModule, APP_BASE_HREF } from '@angular/common';
提供:
providers: [
{provide: APP_BASE_HREF, useValue: "/"},
],
答案 0 :(得分:1)
您应该能够将--deploy-url="/"
添加到命令行,以使其生成脚本的正确路径。
即
ng build --deploy-url="/"