es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo agrego un número de versión a una aplicación SvelteKit/Vite?

Estoy intentando crear un sistema en mi aplicación SvelteKit que muestre información sobre la versión actual de la aplicación (idealmente un hash de confirmación y descripción de Git) en una cierta página. Intenté hacerlo usando la función “define” de Vite en el momento de construir, pero parece que no funciona. ¿Cómo puedo agregar algo como esto?

Aquí hay un ejemplo de lo que intenté hacer:

Configuración de Vite en svelte.config.js

vite: () => ({
    define: {
        '__APP_VERSION__': JSON.stringify('testfornow')
    }
})

index.svelte:

<script lang="ts">
    const version: string = APP_VERSION;
</script>

<p>Current App version: {version}</p>
Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Desafortunadamente, esto parece no funcionar.

    Puede utilizar Rollup para lograr esto. Rollup es un empaquetador de módulos para JavaScript que se puede usar para empaquetar su aplicación SvelteKit. Puede usar el complemento rollup-plugin-replace para reemplazar el marcador de posición __APP_VERSION__ con la versión real de su aplicación.

    Aquí hay un ejemplo de cómo puede usar el complemento en su archivo rollup.config.js:

    import replace from 'rollup-plugin-replace';
    
    export default {
      input: 'src/index.js',
      output: {
        file: 'dist/index.js',
        format: 'cjs'
      },
      plugins: [
        replace({
          '__APP_VERSION__': JSON.stringify('testfornow')
        })
      ]
    };
    

    Luego, puede usar la variable de entorno process.env.APP_VERSION en su archivo index.svelte para obtener la versión de su aplicación:

    <script lang="ts">
        const version: string = process.env.APP_VERSION;
    </script>
    
    Versión actual de la aplicación: {version}
    

Comments are closed.