申城法斗
申城法斗
  • 发布:2022-08-29 11:33
  • 更新:2022-08-29 11:47
  • 阅读:270

【报Bug】H5发布至域名下子目录,静态文件问题

分类:uni-app

产品分类: 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/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

2022-08-29 11:33 负责人:无 分享
已邀请:
DCloud_UNI_WZF

DCloud_UNI_WZF

如果是项目发布到二级目录下,配置 base 文档
如果是配置静态资源文件的代理地址,配置 publicPath 文档
你现在配置的都是 ./,怎么会请求 /h5/ 呢?

  • 申城法斗 (作者)

    您好,感谢回复。./相对路径不可用吗,只将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

要回复问题请先登录注册