export default defineConfig(({ command }) => {
base:command == 'serve' ? '/':`https://www.baidu.com/newapp/prod`
}
- 发布:2023-05-06 18:27
- 更新:2023-11-20 22:01
- 阅读:300
产品分类: uniapp/H5
PC开发环境操作系统: Mac
PC开发环境操作系统版本号: 13.3.1
浏览器平台: Chrome
浏览器版本: 112
项目创建方式: CLI
CLI版本号: 3.0.0-alpha-3080120230428001
示例代码:
操作步骤:
npm run build 即可
npm run build 即可
预期结果:
不需要添加newapp/prod部分 访问域名即可正常访问
不需要添加newapp/prod部分 访问域名即可正常访问
实际结果:
会默认添加路由base newapp/prod 部分
会默认添加路由base newapp/prod 部分
bug描述:
发行平台:h5
复现方式:通过vite.config.ts 配置base选项为oss远程静态文件URL 访问部署成功后的域名 会默认添加路由base
如:base配置为 https://www.baidu.com/newapp/prod 部署域名为http://www.appnew.com 访问该域名会自动变成http://www.appnew.com/newapp/prod
base 用来配置 应用基础路径,应和你部署的路径相同(注意不应该包含域名,也就是不需要是全量路径,而仅仅是基础路径)
例如,如果整个单页应用服务在 /app/ 下,然后 base 就应该设为 "/app/",支持设置为相对路径 "./
如果你的部署路径是根目录,则无需配置
7***@qq.com (作者)
项目模拟了cdn服务
npm i 安装依赖以后 直接运行 npm run preview 即可启动一个项目 和一个模拟cdn静态资源的服务
实际结果
vite.config.ts 配置了 base: command == 'serve' ? '/' : "http://localhost:3000/dist/build/h5"
会影响项目路由的base 访问项目根路由时默认自动添加dist/build/h5
按照正常vue3项目 修改vite.config.ts 里面的base配置项只会更改静态资源路径 不会影响项目路由的base
期望结果
不影响项目路由的base 访问项目根路由能正常访问
7***@qq.com (作者)
使用vite构建的 base不就是相当于 webpack 的publicPath 如果只设置相对路径那么构建的时候 静态文件路径怎么修改oss的链接呢
2023-05-06 20:22
7***@qq.com (作者)
如果vite.config.ts base 设置为、或./ 那么静态资源的cdn地址应该怎么配
2023-05-06 20:42
DCloud_UNI_WZF
回复 7***@qq.com: base 和 publicPath 不相同,目前 manifest.json 中 仅支持 vue2 配置 publicPath
如果项目整体上cdn, base 就可以解决,如果部分资源上cdn,vue3 项目可尝试使用全局变量拼接,或新建 vite.config.js 借助 vite 插件实现
2023-05-06 21:23
7***@qq.com (作者)
回复 DCloud_UNI_WZF: 因为在普通的vue3项目 base配置为cdn的地址 所有的静态资源都会替换成cdn的地址 并不会去影响路由的base,在uni-app里面就有这个问题 base配置为cdn的地址 就会影响到路由的base
2023-05-09 10:34
DCloud_UNI_WZF
回复 7***@qq.com: 提供下测试工程,这边排查下
2023-05-09 10:40
7***@qq.com (作者)
回复 DCloud_UNI_WZF: 附件已上传
2023-05-09 17:01