Contexto Project

  • Tipo: object
  • Origem: Contexto Nullstack
  • Disponibilidade: server/client
  • readwrite no contexto do server
  • readonly no contexto do client

Ele te dá informações sobre o manifest do app e algumas metatags.

As chaves de project serão usadas para gerar metatags durante a renderização do lado do servidor e devem ser definidas antes que initiate seja resolvido.

As chaves de project serão usadas para gerar o manifest do app e devem ser definidas durante a inicialização da aplicação.

A chave disallow será usada para gerar o robots.txt e deverá ser definida durante a inicialização da aplicação.

As chaves de project serão congeladas após a inicialização da aplicação.

As chaves a seguir estão disponíveis no objeto:

  • domain: string
  • name: string
  • shortName: string
  • color: string
  • backgroundColor: string
  • type: string
  • display: string
  • orientation: string
  • scope: string
  • root: string
  • icons: object
  • favicon: string (url relativo ou absoluto)
  • disallow: array de string (caminhos relativos)
  • sitemap: boolean ou string (url relativo ou absoluto)

Além de domain, name and color todas as outras chaves tem padrões sensíveis gerados com base no escopo do aplicativo.

Se você não declarar a chave icons, Nullstack irá escanear quaisquer ícones com o nome seguindo o padrão "icon-[LARGURA]x[ALTURA].png" na sua pasta public.

Se a chave sitemap estiver definida como true o seu arquivo robots.txt irá apontar o sitemap para https://${project.domain}/sitemap.xml.

A chave cdn irá prefixar seu pacote de assets e ficará disponível no contexto para que você possa manualmente prefixar outros ativos.

A chave protocol é "http" no modo de desenvolvimento e "https" e no modo produção por predefinição.

import Nullstack from 'nullstack';

class Application extends Nullstack {

  static async start({project}) {
    project.name = 'Nullstack';
    project.shortName = 'Nullstack';
    project.domain = 'nullstack.app';
    project.color = '#d22365';
    project.backgroundColor = '#d22365';
    project.type = 'website';
    project.display = 'standalone';
    project.orientation = 'portrait';
    project.scope = '/';
    project.root = '/';
    project.icons = {
      '72': '/icon-72x72.png',
      '128': '/icon-128x128.png',
      '512': '/icon-512x512.png'
    };
    project.favicon = '/favicon.png';
    project.disallow = ['/admin'];
    project.sitemap = true;
    project.cdn = 'cdn.nullstack.app';
    project.protocol = 'https';
  }

  prepare({project, page}) {
    page.title = project.name;
  }

}

export default Application;

💡 Você pode substituir o manifest.json gerado automaticamente e robots.txt inserindo o seu próprio arquivo na pasta public

Próximo Passo

⚔ Aprenda sobre a chave settings do contexto.