任意项目发布至域名子目录
- 发布:2022-08-29 11:33
- 更新:2022-08-29 11:47
- 阅读:382
产品分类: uniapp/H5
PC开发环境操作系统: Mac
PC开发环境操作系统版本号: 11.4
HBuilderX类型: 正式
HBuilderX版本号: 3.5.5
浏览器平台: 微信内置浏览器
浏览器版本: 1.05.22
项目创建方式: HBuilderX
操作步骤:
预期结果:
按http://www.test.com/h5/index.css获取项目文件
按http://www.test.com/h5/index.css获取项目文件
实际结果:
按http://www.test.com/index.css获取,缺少二级目录
按http://www.test.com/index.css获取,缺少二级目录
bug描述:
// manifest.json
"h5" : {
"publicPath" : "./",
"router" : {
"base" : "./",
"mode" : "hash"
}
}
配置不生效
项目发布至域名下子目录 /h5/,即 http://www.test.com/h5/
此时无法访问项目,js及css文件均访问的是http://www.test.com/而非子目录
即http://www.test.com/static/index.js
而需求是http://www.test.com/h5/static/index.js
申城法斗 (作者)
您好,感谢回复。./相对路径不可用吗,只将base配置为/h5/,项目加载会报错【GET http://www.test.com/h5/%3C%=%20BASE_URL%20%%3Estatic/index.%3C%=%20VUE_APP_INDEX_CSS_HASH%20%%3E.css net::ERR_ABORTED 400 (Bad Request)】,其中www.test.com为域名不公开化名
2022-08-29 11:59
DCloud_UNI_WZF
回复 申城法斗: 不是./ 不可用,是你要根据你的需求配置base和publicPath
2022-08-29 12:01
申城法斗 (作者)
回复 DCloud_UNI_WZF: 需求是让项目主js和css,携带子目录,目前无论怎么配置,都是http://www.test.com/static/index.css,需要设置请求为http://www.test.com/h5/static/index.css
2022-08-29 13:16
DCloud_UNI_WZF
回复 申城法斗: manifest.json/h5/"publicPath" : "http://www.test.com/h5/",
2022-08-29 13:37
申城法斗 (作者)
回复 DCloud_UNI_WZF: 此配置无效,访问仍为【域名】/【static/index.css】,而非【域名/子目录】/【static/index.css】
2022-08-29 14:47
申城法斗 (作者)
回复 DCloud_UNI_WZF: 复现步骤:1、HX创建新项目,本地运行得到访问ip地址;2、将服务器域名映射至此ip地址;3、配置publicPath,并通过服务器域名访问项目,此时即等同于访问本地ip;4、结果报错http://域名/static/index.css 404;但本地访问http://ip地址,项目正常显示。
2022-08-29 14:52
DCloud_UNI_WZF
回复 申城法斗: 发布后的资源链接是什么
2022-08-29 15:54
申城法斗 (作者)
回复 DCloud_UNI_WZF: 没发布,做的域名映射本地ip,publicPath对应的是发布环境吗,做公众号,发布太麻烦,最后才上线
2022-08-29 16:26
申城法斗 (作者)
回复 DCloud_UNI_WZF: 方便加个QQ指导一下吗?1315750633
2022-08-29 16:27
DCloud_UNI_WZF
回复 申城法斗: 我第一次回复就贴了文档地址了,文档中明确写了发布后生效
2022-08-29 16:36
申城法斗 (作者)
回复 DCloud_UNI_WZF: 抱歉这是我的问题,那就是说域名映射时,是无法处理静态资源问题的吗
2022-08-29 16:41
DCloud_UNI_WZF
回复 申城法斗: publicPath 只是配置发布后资源的引用路径,至于资源是否存在,怎么做映射或者代理,是另一方面的问题
2022-08-29 16:45