美文网首页
vite对媒体、图片等文件打包处理单独发布到CDN

vite对媒体、图片等文件打包处理单独发布到CDN

作者: FateOfKing | 来源:发表于2023-11-28 14:05 被阅读0次

    vite对媒体、图片等文件打包处理单独发布到CDN

    1. 如果你希望对某几个库进行CDN部署,推荐使用vite-plugin-cdn-import

    2.如果你希望对整个项目进行CDN部署,使用vite.config.ts中的base字段即可

    import { defineConfig } from 'vite';
    
     
    export default defineConfig(({ mode }) => {
      const isProduction = mode === 'production';
      const cdnDomain = isProduction ? process.env.VITE_CDN_DOMAIN : '/';
     
      return {
        base: cdnDomain,
      };
    
    

    3.如果你希望只对某些文件进行CDN部署,比如图片,MP4等

    // vite.config.ts
    // https://vitejs.dev/config/
    export default ({ mode }: ConfigEnv): UserConfigExport => {
      return {
        //......其他配置
    
        build: {
    
          rollupOptions: {
            output: {
              assetFileNames: (chunkInfo) => {
                // 用后缀名称进行区别处理
                // 处理其他资源文件名 e.g. css png 等
                if (
                  chunkInfo.name?.endsWith('.webm') ||
                  chunkInfo.name?.endsWith('.png') ||
                  chunkInfo.name?.endsWith('.jpg') ||
                  chunkInfo.name?.endsWith('.gif')
                ) {
                  return `assets/images/[name].[ext]`;
                }
    
                return `assets/[name].[hash].[ext]`;
              },
            },
          },
        },
        experimental: {
          renderBuiltUrl(filename: string) {
            if (
              filename.endsWith('.webm') ||
              filename.endsWith('.png') ||
              filename.endsWith('.jpg') ||
              filename.endsWith('.gif')
            ) {
              const name = filename.replace('assets/images/', '');
              return `https://cdnURL/images/${name}`;
            }
    
            return filename;
          },
        },
      };
    };
    

    打包后dist的结构

    ├── assets
    │   ├── images
    │   │   ├── xxx.png
    │   ├── xxx.js
    │   ├── xxx.css
    ├── index.html
    └── vite.svg
    

    相关文章

      网友评论

          本文标题:vite对媒体、图片等文件打包处理单独发布到CDN

          本文链接:https://www.haomeiwen.com/subject/nrxxgdtx.html