Skip to content

Opções de Compilação

DICA

As opções de compilação apenas aplicam-se quando usamos a construção de esm-bundler da Vue (isto é, vue/dist/vue.esm-bundler.js).

Quando usamos a Vue com uma etapa de construção, é possível configurar um número de opções de compilação para ativar ou desativar certas funcionalidades. O benefício de usar as opções de compilação é que as funcionalidades desativadas desta maneira podem ser removidas do pacote final através da agitação da árvore.

A Vue funcionará mesmo se estas opções não forem explicitamente configuradas. No entanto, é recomendado sempre configurá-las para que as funcionalidades relevantes podem ser removidas corretamente quando possível.

Consultar os Guias de Configuração sobre como configurá-las dependendo da nossa ferramenta de construção.

__VUE_OPTIONS_API__

  • Predefinida como: true

    Ativa ou desativa o suporte da API de Opções. Desativar isto resultará em pacotes menores, mas pode afetar a compatibilidade com as bibliotecas de terceiros se estas dependerem da API de Opções.

__VUE_PROD_DEVTOOLS__

  • Predefinida como: false

    Ativa ou desativa o suporta das ferramentas de programação nas construções de produção. Isto resultará em mais código incluído no pacote, então é recomendado ativar isto apenas para fins de depuração.

__VUE_PROD_HYDRATION_MISMATCH_DETAILS__

  • Predefinida como: false

    Ativa ou desativa avisos detalhados para as disparidades de hidratação nas construções de produção. Isto resultará em mais código incluído no pacote, então é recomendado ativar isto apenas para fins de depuração.

Guias de Configuração

Vite

A @vitejs/plugin-vue fornece automaticamente valores padrão para estas opções. Para mudar os valores padrão, usamos a opção de configuração define da Vite:

js
// vite.config.js import { defineConfig } from 'vite'  export default defineConfig({  define: {  // ativar detalhes de disparidade de hidratação na  // construção de produção  __VUE_PROD_HYDRATION_MISMATCH_DETAILS__: 'true'  } })

vue-cli

A @vue/cli-service fornece automaticamente os valores padrão para algumas destas opções. Para configurar ou mudar os valores:

js
// vue.config.js module.exports = {  chainWebpack: (config) => {  config.plugin('define').tap((definitions) => {  Object.assign(definitions[0], {  __VUE_OPTIONS_API__: 'true',  __VUE_PROD_DEVTOOLS__: 'false',  __VUE_PROD_HYDRATION_MISMATCH_DETAILS__: 'false'  })  return definitions  })  } }

webpack

As opções devem ser definidas usando a DefinePlugin da Webpack:

js
// webpack.config.js module.exports = {  // ...  plugins: [  new webpack.DefinePlugin({  __VUE_OPTIONS_API__: 'true',  __VUE_PROD_DEVTOOLS__: 'false',  __VUE_PROD_HYDRATION_MISMATCH_DETAILS__: 'false'  })  ] }

Rollup

As opções devem ser definidas usando @rollup/plugin-replace:

js
// rollup.config.js import replace from '@rollup/plugin-replace'  export default {  plugins: [  replace({  __VUE_OPTIONS_API__: 'true',  __VUE_PROD_DEVTOOLS__: 'false',  __VUE_PROD_HYDRATION_MISMATCH_DETAILS__: 'false'  })  ] }
Opções de Compilação has loaded