通常angular 打包后里面的css、js文件放到了别的服务器,或者放到了别的目录
1、当前服务器aaa.com index放到了aaa.com下面,css/js文件放到了bbb.com下面
2、当前服务器aaa.com index放到了aaa.com下面,css/js放到了aaa.com/public/下面
最简单的办法就是将打包好的index.html里面的资源前面设置为对应的绝对路径和相对路径即可。
那么当遇到项目中有懒加载和预加载摸模块文件时,这些文件不直接在index中引用,而是通过runtime.**.js中引用
这时问题就会出现,部署上后发现懒加载模块文件报404找不到
查看文件路径发现,懒加载模块的文件路径走的仍然是index.html的相对路径去查找
所以肯定就找不到了。
那么如何解决这个问题呢,我们去看打包好的runtime,可以在里面找到引入的懒加载模块文件,发现引入文件时使用的是./相对地址,那么修改成绝对地址或者改为我们要的相对地址比如./public/**.js,发现这样就可以正确访问了。
但是缺点非常明显,修改压缩后的文件非常不明智和不方便。
最佳解决方案
在cli中其实给出了给好的解决方案
只要在打包时指定资源文件路径就ok了,如
ng build --deployUrl=http://bbb.com/
ng build --deployUrl=/public/
这样打包后不仅index.html里的css和js都自动加上这个路径,而且runtime.js中的懒加载模块也会加上这个路径
这样就完美解决了路径问题。
其它问题
当然如果说你的js要放到/public/js/目录中,css要放到/public/css/目录中。
那么建议将deployUrl配置成/public/js/,避免懒加载报错,打包后在手动更改css的目录。
所以如果没有特殊要求,不建议将css、js分开,不利于维护。
最后如果能将打包后的文件都放到一个目录下,那么是最好了,就不用折腾了。
deployUrl解决angular项目打包后静态资源的部署到其它目录的问题
赞助鼓励:如果觉得内容对您有所帮助,您可以支付宝(左)或微信(右):
声明:如无特殊注明,所有博客文章版权皆属于作者,转载使用时请注明出处。谢谢!
日历
最新微语
- html转义与翻转义工具
https://www.sojson.com/rehtml#google_vignette
2024-09-03 15:28
- 周公恐惧流言日,王莽谦恭未篡时
2024-09-03 15:28
最新评论
分类
随机文章
最新文章
热门文章
存档
- 2023年1月(1)
- 2022年8月(1)
- 2022年5月(1)
- 2021年8月(1)
- 2021年7月(1)
- 2021年6月(1)
- 2021年5月(1)
- 2021年4月(1)
- 2021年3月(2)
- 2021年2月(3)
- 2021年1月(3)
- 2020年12月(1)
- 2020年11月(2)
- 2020年10月(2)
- 2020年9月(2)
- 2020年8月(2)
- 2020年7月(3)
- 2020年6月(3)
- 2020年5月(7)
- 2020年4月(5)
- 2020年3月(3)
- 2020年2月(2)
- 2020年1月(2)
- 2019年12月(2)
- 2019年11月(1)
- 2019年10月(3)
- 2019年9月(1)
- 2019年8月(2)
- 2019年7月(4)
- 2019年6月(5)
- 2019年5月(5)
- 2019年4月(3)
- 2019年3月(2)
- 2019年2月(2)
- 2019年1月(3)
- 2018年12月(1)
- 2018年11月(1)
- 2018年10月(1)
- 2018年9月(2)
- 2018年8月(1)
- 2018年7月(1)
- 2018年6月(3)
- 2018年5月(2)
- 2018年3月(1)
- 2018年2月(1)
- 2018年1月(1)
- 2017年11月(1)
- 2017年10月(1)
- 2017年8月(2)
- 2017年5月(1)
- 2016年11月(1)
- 2016年10月(2)
- 2016年9月(1)
- 2016年8月(1)
- 2016年7月(2)
- 2016年6月(2)
- 2016年5月(7)
- 2016年4月(6)
- 2016年3月(3)
- 2016年2月(2)
- 2016年1月(3)
- 2015年12月(2)
- 2015年11月(2)
- 2015年10月(3)
- 2015年9月(2)
- 2015年8月(4)
- 2015年7月(4)
- 2015年6月(8)
- 2015年5月(34)
- 2015年4月(8)
- 2015年3月(2)
发表评论: