Arquivo vulcan.config.js

O arquivo vulcan.config.js serve como um poderoso sistema de configuração para o Vulcan, oferecendo opções de personalização para o processo de build de sua aplicação. Embora não seja obrigatório, este arquivo atua como um mecanismo de substituição, permitindo que você defina propriedades que substituem as configurações predefinidas.


PropriedadeTipoDescriçãoInformação adicional
EntryStringRepresenta o ponto de entrada principal para a sua aplicação, onde o processo de build começaEntry será ignorado para soluções Jamstack
BuilderStringDefine a ferramenta de build a ser usadaOpções:
'esbuild'
'webpack'
CustomObjectPermite estender as capacidades do bundler escolhido (webpack ou esbuild) com plugins personalizados ou configuraçõesPropriedades:
Plugins (Object): adicione plugins personalizados para o bundler escolhido aqui.
Todas as propriedades relacionadas ao bundler escolhido
UseNodePolyfillsBooleanDetermina se os polyfills do Node.js devem ser aplicadosÚtil para projetos que utilizam funcionalidades do Node.js visando ambientes sem capacidades integradas
UseOwnWorkerBooleanIndica que o código construído insere sua própria worker expression, eliminando a necessidade de injetar um providerExemplo: framework Hono
PresetObjectFornece configurações específicas do presetPropriedades:
Name (String): refere-se ao nome do preset (exemplo: "next").
Mode (String): especifica o modo para o preset (exemplo: "compute" ou "deliver")
MemoryFSObjectConfigurações relacionadas ao sistema de arquivos em memóriaPropriedades:
InjectionDirs (Array de Strings): diretórios injetados na memória para acesso em tempo de execução via API fs.
RemovePathPrefix (String): prefixo do caminho a ser removido dos arquivos antes de injetar na memória
CustomObjectPermite estender as capacidades do bundler escolhido com plugins personalizados ou configuraçõesPropriedades:
Plugins (Object): adicione plugins personalizados para o bundler escolhido aqui.
Todas as propriedades relacionadas ao bundler escolhido podem ser usadas

O Vulcan utiliza os termos compute e deliver para descrever os modos operacionais das aplicações:

ModoDescrição
ComputeProjetado para aplicações que requerem processamento computacional no edge, seja para a Renderização Server-Side (SSR) do Front-End ou para tarefas de Back-End. No Modo Compute, a Azion permite a execução de código e o processamento de conteúdo dinâmico no edge para aprimorar o desempenho e a responsividade.
DeliverAdaptado para frameworks que se concentram principalmente no tratamento e roteamento de requisições de entrada no edge, com ênfase em servir eficientemente arquivos estáticos. Embora as aplicações no modo deliver não executem código dinâmico, elas se destacam na otimização da entrega de conteúdo estático aos usuários finais, garantindo assim uma distribuição de conteúdo leve e rápida.

Para um projeto baseado em Next:

vulcan.config.js
module.exports = {
entry: 'src/index.js',
builder: 'webpack',
useNodePolyfills: true,
useOwnWorker: false,
preset: {
name: 'next',
mode: 'compute',
},
memoryFS: {
injectionDirs: ['.faststore/@generated/graphql'],
removePathPrefix: '.faststore/',
},
custom: {
plugins: {},
},
};

implementação do arquivo vulcan.config.js

Saiba mais sobre compatibilidade na Plataforma de Edge da Azion.

saiba mais sobre os Web frameworks suportados
saiba mais sobre o suporte ao Node.js
saiba mais sobre as Web APIs suportadas