我有一个现有的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
官方文档参考