Почему VITE автоматически вставляет <link rel = "preload" as = "image"> теги для изображений и как я могу ее отключить иHtml

Программисты Html
Ответить
Anonymous
 Почему VITE автоматически вставляет <link rel = "preload" as = "image"> теги для изображений и как я могу ее отключить и

Сообщение Anonymous »

Я использую Vite + React со сборками SSR и SPA.

Когда я запускаю сервер разработки или сборку для рабочей среды, Vite автоматически вставляет теги предварительной загрузки изображения, например:

Код: Выделить всё

[*]
...

Я никогда не добавлял эти ссылки на предварительную нагрузку нигде в моем коде (не в index.html , а не в компонентах React).
Что я проверил:
  • Эти тетрики не в index /> < /li>
    Они не импортируются и не отображаются вручную в каких -либо компонентах.), но не смог найти в источнике. Они появляются только в выходе из сборки. Из отправки окончательного SSR HTML,

    I Извлеките эти теги предварительной нагрузки изображения из корня, удалить их, а затем вставить их вручную в < /code> перед отправкой ответа. < /p>
    это работает, но не кажется лучшим решением.

    Код: Выделить всё

    import { defineConfig, loadEnv } from "vite";
    import react from "@vitejs/plugin-react-swc";
    import path from "node:path";
    import { getProxyOptions } from "./server/proxy/getProxyOptions.js";
    
    export default defineConfig(({ mode, isSsrBuild }) => {
    const isDev = mode === "development";
    const isSpa = process.env.SPA === "true";
    
    const env = loadEnv(mode, process.cwd(), "REACT_APP_");
    const defineEnv = Object.entries(env).reduce((acc, [key, val]) => {
    acc[`process.env.${key}`] = JSON.stringify(val);
    return acc;
    }, {});
    const proxyOption = getProxyOptions(env);
    
    return {
    root: isSpa ? path.resolve(__dirname, "spaRoot") : path.resolve(__dirname, "."),
    plugins: [react()],
    publicDir: path.resolve(__dirname, "public"),
    define: defineEnv,
    build: {
    minify: "esbuild",
    sourcemap: false,
    cssMinify: true,
    copyPublicDir: !isSsrBuild,
    rollupOptions: { output: { manualChunks: undefined } },
    },
    ssr: isDev ? {} : {
    noExternal: [/^@forproxyband\/main-ui-kit/, "classnames", "lodash", "uuid"],
    },
    server: {
    proxy: proxyOption && isDev ? { "/api": proxyOption } : undefined,
    },
    resolve: {
    alias: {
    "@": path.resolve(__dirname, "src"),
    "/src": path.resolve(__dirname, "src"),
    },
    },
    };
    });
    
    
    Мои вопросы
    • Откуда именно эти теги предварительной загрузки изображений берутся во время выполнения Vite?
    • Как я могу отключить или контролировать это поведение (например, отключить предварительную загрузку изображений или переместить их в )?
    • Почему они вставляются внутри элемента #root вместо ?


Подробнее здесь: https://stackoverflow.com/questions/797 ... s-for-imag
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Html»