使用Angular-CLI在Angular中添加前缀路径



我有一个现有的django项目,在该项目中,我可以通过/静态/路径为静态文件提供服务。我将应用程序的一部分迁移到Angular2,是该网站的特定移动版本。

<base href="/">添加到index.html加载静态文件www.example.com/main.js在此处获取404。将<base href="/static/">添加到index.html正确加载静态文件,但是当应用程序引导程序时,它将URL更改为/static/(我使用的是路由器),尽管我的URL应该是/订单/.

是否有一种使用基本HREF为/的方法

使用版本ng --version

@angular/cli: 1.0.0-rc.0
node: 6.9.1
os: win32 x64
@angular/common: 2.4.9
@angular/compiler: 2.4.9
@angular/core: 2.4.9
@angular/forms: 2.4.9
@angular/http: 2.4.9
@angular/platform-browser: 2.4.9
@angular/platform-browser-dynamic: 2.4.9
@angular/router: 3.4.9
@angular/cli: 1.0.0-rc.0
@angular/compiler-cli: 2.4.9

您可以使用-deploy-url到生成的静态文件的前缀路径。ng build --deploy-url /static/。它将在生成index.html中使用 /static/的JS文件的前缀前缀。

<script type="text/javascript" src="/static/inline.bundle.js"></script>

来自帮助文档:

--deploy-url (String) URL where files will be deployed.

示例:

ng build --prod --deploy-url=example.com/scripts/

根据注释更新答案。

使用Angular CLI 6.1.1

这是我的做法,您需要使用构建标志--base-href

示例

ng build --prod --base-href=/dist/my-app/

,我像这样访问了网站http://127.0.0.1:5500/dist/my-app/index.html

官方文档参考

最新更新