Por padrão, o ambiente de execução do node.js executará npm run build
se um script build
for detectado no arquivo package.json
. Se você precisar de mais controle sobre as etapas do build
antes de iniciar o aplicativo, forneça uma etapa personalizada
de build. As etapas personalizadas de build podem ser executadas adicionando gcp-build
ao
arquivo package.json
.
Para evitar que sua versão execute o script npm run build
, siga um destes procedimentos:
- Adicione um script
gcp-build
com um valor vazio ao arquivopackage.json
:"gcp-build":""
. Para detalhes sobre como configurar opackage.json
, consulte Configurações dos pacotes de criação do Node.js. Adicione a variável de ambiente de build
GOOGLE_NODE_RUN_SCRIPTS
com um valor vazio no arquivoapp.yaml
.build_env_variables: GOOGLE_NODE_RUN_SCRIPTS: ''
build_env_variables
no arquivo app.yaml
.
Ao executar este script, as dependências nos campos dependencies
e devDependencies
do arquivo package.json
estarão disponíveis.
Após a execução da etapa de criação personalizada, o App Engine remove e gera novamente a pasta node_modules
instalando apenas as dependências de produção declaradas no campo dependencies
do arquivo package.json
.
Para saber mais sobre como configurar o ambiente de execução para etapas de versão personalizadas, consulte Como executar etapas de versão personalizadas durante a implantação para buildpacks do Node.js.
Exemplo
Um script de criação personalizada pode ser usado para tarefas de pré-processamento, como CSS de pré-processamento, redução de JavaScript do lado do cliente ou ferramentas em execução, como webpack
ou gulp
.
Por exemplo, para compilar o TypeScript para JavaScript, seu arquivo package.json
pode ser semelhante ao seguinte. Observe o script gcp-build
:
Como disponibilizar arquivos estáticos
Quando você gera ou copia arquivos durante a etapa de criação personalizada, o App Engine não disponibiliza esses arquivos estáticos diretamente do aplicativo usando static_dir
ou static_files
definidos no arquivo app.yaml
. Em vez disso, o App Engine faz upload dos arquivos estáticos na infraestrutura de serviço no ambiente padrão antes de executar a etapa de versão personalizada. Qualquer solicitação para os arquivos gerados ou copiados durante a etapa de criação personalizada resulta em um erro HTTP 404 NOT FOUND
.