构建后静态资源加前缀问题
目录
考虑这样的场景:
构建后的目录需要放在客户机器服务的指定目录下。例如之前的请求是 /assets/a.png 可以访问, 现在需要改成 /a/b/assets/a.png 才能访问,这时候应该如何处理?
解答:
1、如果项目是用 webpack 构建,可以使用 publicPath 解决这问题(未实验验证):
|
|
参考文档: outputpublicpath
2、如果项目是用 esbuild 构建,可以使用 publicPath 解决这问题(未实验验证):
|
|
3、如果是 Angular 项目,可以使用 base-href 选项:
|
|
参考文章: outputpublicpath
4、HTML 的 <base> 标签也能解决这个问题:
|
|
这里需要注意,<base> 元素必须在其他任何属性是 URL 的元素之前,例如:<link> 的 href 属性。
参考文档: MDN:base