Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

1.1K
Visualizações
Anular las variables de Vuetify al crear una aplicación Vue2+Vuetify con Vite

Estoy intentando migrar una aplicación Vue2+Vuetify de Vue-CLI/Webpack a Vite. La aplicación tiene un par de archivos SCSS, main.scss y variables.scss con el último importado por el primero.

principal.scss

 @import 'variables'; // global style rules (omitted)

variables.scss

 // override some Vuetify variables and defined some variables of my own, eg // Vuetify default is 48px $data-table-mobile-row-min-height: 32px; // Increase default height by 10px // https://vuetifyjs.com/en/api/v-date-picker/#sass-variables $date-picker-table-height: 252px;

main.scss se importa en el componente raíz, lo que significa que:

  1. las reglas en main.scss se aplican a cada componente
  2. se puede hacer referencia a las variables en variables.scss en cualquier componente sin importaciones adicionales
  3. las variables definidas por Vuetify se pueden consultar en cualquier componente sin importaciones adicionales
  4. las variables en variables.scss anulan las variables de Vuetify con el mismo nombre

Sin embargo, después de migrar a Vite, solo (1) seguía funcionando. Pude resolver (2) y (3) agregando lo siguiente a vite.config.js

 export default defineConfig({ // other config omitted css: { preprocessorOptions: { scss: { // Make the variables defined in these files available to all components, without requiring an explicit // @import of the files themselves additionalData: `@import "./src/styles/variables"; @import "vuetify/src/styles/settings/_variables";` }, }, }, });

Sin embargo, todavía se da el caso de que (4) ya no funciona.

Hasta donde yo sé, el cargador vuetify es responsable de este comportamiento cuando se construye con Vue-CLI, pero no está claro cómo anular las variables de Vuetify cuando se construye con Vite.

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Esto se logra con unplugin-vue-components , el equivalente Vite de vuetify-loader .

Configure Vite para usar unplugin-vue-components con su resolución Vuetify, que importa automáticamente los componentes y estilos de Vuetify al usarlos (como vuetify-loader ):

 // vite.config.js import { defineConfig } from 'vite' import Components from 'unplugin-vue-components/vite' import { VuetifyResolver } from 'unplugin-vue-components/resolvers' export default defineConfig({ plugins: [ ⋮ Components({ resolvers: [VuetifyResolver()], }), ], })

Nota: la sintaxis con sangría SCSS está habilitada de forma predeterminada, por lo que los datos additionalData no deben contener punto y coma, y cada línea debe terminar con el carácter de nueva línea:

 // vite.config.js export default defineConfig({ css: { preprocessorOptions: { sass: { // ❌ no semicolons for indented syntax // additionalData: `@import "./src/styles/variables"; @import "vuetify/src/styles/settings/_variables";` // ✅ additionalData: [ '@import "./src/styles/variables"', '@import "vuetify/src/styles/settings/_variables"', '', // end with newline ].join('\n'), }, }, }, })

La configuración del complemento de Vuetify debe importarse desde vuetify/lib/framework en lugar de desde vuetify , y no debe importar el CSS predeterminado de Vuetify:

 // plugins/vuetify.js import Vue from 'vue' // ❌ defeats dynamic imports from unplugin-vue-components // import Vuetify from 'vuetify' // import 'vuetify/dist/vuetify.min.css' // ✅ import Vuetify from 'vuetify/lib/framework' Vue.use(Vuetify) export default new Vuetify({/* options */})

manifestación

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda