由于vue打包后,资源加载太慢,所以考虑将 js、css 资源等放到oss存储来加快用户的访问速度
在 vite 中具体要怎么实现呢?
这里我们用到了vite中的 base
配置
开发或生产环境服务的公共基础路径。可以是以下几种值:
- 绝对 URL 路径,例如
/boot/
- 完整的 URL,例如
https://boot.com/
- 空字符串或
./
(用于嵌入形式的开发)
举个例子
base: env.mode === 'development' ? '' : 'https://file.xxx.xx/path/',
这个配置的作用是,在开发模式下使用空字符串作为基础路径,在生产模式下则使用 https://file.xxx.xx/path/
作为基础路径。这样一来,当 Vite 构建应用时,它会根据这个配置来正确地处理资源的引用路径,从而达到加快用户访问速度的效果。
除了 base
配置之外,Vite 还提供了 experimental
配置选项,可以进一步扩展定制化的功能。比如,你可以使用 renderBuiltUrl
函数来自定义构建后的资源 URL。下面是一个示例代码:
experimental: {
renderBuiltUrl(filename: string, { hostId, hostType, type }: { hostId: string, hostType: 'js' | 'css' | 'html', type: 'public' | 'asset' }) {
// 对不需要的文件进行匹配 直接访问原文件名
if(filename.includes('assets/worker-')){
return `/${filename}`
}
return 'https://file.xxx.xx/path/' + filename
}
}
在这个示例中,我们根据文件名的规则,决定是否使用 OSS 资源。如果文件名包含 ‘assets/worker-’,则直接使用原始文件名,否则使用 https://file.xxx.xx/path/
加上文件名作为资源路径。