BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias Framework Zero Server permite que os desenvolvedores criem aplicativos web sem configuração

Framework Zero Server permite que os desenvolvedores criem aplicativos web sem configuração

This item in japanese

Favoritos

O framework web Zero Server permite que desenvolvedores desenvolvam aplicações web com renderização server-side com pouca ou nenhuma configuração. A atualização recém-lançada do Zero aceita uma mistura de Node.js, React, Vue, HTML, MDX e arquivos estáticos, com suporte para o Svelte que chegará nas próximas atualizações. O Zero 1.0 apresenta uma configuração automática com roteamento baseado em sistema de arquivos, resolução automática de dependências e muito mais.

Com o Zero 1.0, os desenvolvedores organizam as peças de aplicativo web em pastas, cuja estrutura e conteúdo serão mapeados para as rotas atendidas pelo Zero Server. O roteamento baseado em sistema de arquivos mapeia arquivos para rotas de acordo com a extensão do arquivo.

Seguindo as antigas convenções do PHP, o conteúdo que reside em ./api/login.js é exposto em http: // <SERVER> / api / login. Isso é válido para qualquer arquivo com extensão .js. O Zero permite que os desenvolvedores definam os endpoints da API com funções individuais e acrescenta um mecanismo de reescrita de rota para permitir rotas aninhadas.

Espera-se que os arquivos com extensão .jsx contenham o código React, os componentes são exportados especificando a página a ser exibida na rota apropriada. Se um componente residir no arquivo ./about.jsx, a página correspondente será exibida em http://<SERVER>/about. Por outro lado, os arquivos React devem usar uma extensão .jsx, mesmo que não usem jsx, para distinguir dos arquivos .js que definem a API. Para cada página do React, o Zero 1.0 transpila e empacota a página com o Parcel, agrupando CSS/SASS/SCSS à medida que são encontrados. As páginas são renderizadas no lado do servidor, portanto, o usuário não vê uma página em branco até que o JavaScript necessário seja carregado. Os dados da sessão são injetados nas propriedades do componente React (props). O Zero executa automaticamente a divisão de código usando também o React Helmet para adicionar meta-informações (tags de cabeçalho como <title> ou <meta>) na página para melhorar a otimização do mecanismo de pesquisa (SEO).

Os arquivos Vue devem ter a extensão .vue e seguir um processo de agrupamento semelhante ao dos arquivos React com algumas diferenças. A meta informação é especificada como a propriedade head do componente do arquivo Vue.

O Zero converte automaticamente todos os arquivos Markdown (extensão .md) em páginas HTML. Os Arquivos MDX (extensão .mdx) são suportados da mesma forma. Assim como os arquivos do React, o React Helmet é usado para adicionar meta informações aos arquivos .md e .mdx.

Quando o Zero encontra arquivos HTML, extrai e compila as URLs para scripts, estilos CSS, mídias e outros arquivos HTML. As referências são reescritas no HTML para que vinculem arquivos de saída corretamente. O Zero aproveita o empacotador do Parcel para essa tarefa.

Arquivos estáticos, ou seja, arquivos que não possuem uma das extensões gerenciadas, são exibidos no estado em que se encontram.

A basic mono-repo

O Zero resolve dependências automaticamente. Se um arquivo solicitar um pacote específico (por exemplo, através de require('underscore')), a versão mais recente do underscore é automaticamente instalada. Os desenvolvedores podem ajustar o processo de resolução especificando no próprio arquivo package.json para instalar uma versão específica de um pacote.

O pacote npm do Zero está disponível sob a licença de código aberto Apache 2.0. Contribuições são bem-vindas através do pacote GitHub e devem seguir as diretrizes de contribuição.

Avalie esse artigo

Relevância
Estilo/Redação

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

BT