APP_BASE_HREF导致* .bundle.js脚本无法加载

时间:2017-04-04 03:59:16

标签: angular svg webpack angular-cli

我正在努力让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

设置此方法的正确方法是什么?

  • 我不想使用HTML5#locations
  • 使用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: "/"},
  ],

1 个答案:

答案 0 :(得分:1)

您应该能够将--deploy-url="/"添加到命令行,以使其生成脚本的正确路径。

ng build --deploy-url="/"