RequireJS跨域加载html模版后被转成JS问题分析及解决
问题描述
RequireJS跨域加载HTML模版失败,例如:
在a.com域名下请求CDN域名下的模版,text.js插件会把html文件转成html.js文件去加载,由于并没有生成html.js文件,所以会404
问题原因
- 打包后部分HTML模版无法内联,原因是同一模块引入的路径不一致
- 通过XHR请求HTML模版,浏览器同源策略,无法跨域
解决方案
- 打包后内联HTML模版,无需异步加载HTML文件,需要正确配置模版引用否则无法打包成内联模版,打包配置默认是内联模版
- 打包后生产模版的JS文件,即会生成一个模版的html.js文件,里面定义的是一个模块,返回html模版字符串,通过设置打包配置参数即可optimizeAllPluginResources: true。可以跨域解析,但产生大量冗余文件,可以单独上传,不好维护。
官方文档详细说明
作者:GeniusLyzh
出处:http://www.cnblogs.com/GeniusLyzh/
本文链接:https://www.cnblogs.com/GeniusLyzh/p/7999366.html
本文版权归作者和博客园共有,欢迎转载,须保留此段声明,并给出原文链接,谢谢!
如果阅读了本文章,觉得有帮助,欢迎点击右下角推荐
出处:http://www.cnblogs.com/GeniusLyzh/
本文链接:https://www.cnblogs.com/GeniusLyzh/p/7999366.html
本文版权归作者和博客园共有,欢迎转载,须保留此段声明,并给出原文链接,谢谢!
如果阅读了本文章,觉得有帮助,欢迎点击右下角推荐
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!