Os scripts npm agrupam um conjunto de comandos de terminal que você pode usar para automatizar tarefas em um projeto JavaScript. Eles também fornecem uma maneira consistente de executar comandos em diferentes ambientes.
Você pode configurar scripts npm em um arquivo package.json, executá-los na linha de comando e usar um amplo conjunto de opções para configurar seu comportamento.
Configurando scripts npm no arquivo package.json
Normalmente, você define scripts npm em um arquivo package.json, localizado na raiz do seu projeto JavaScript. Isso não é obrigatório, pois você pode executar scripts de outros arquivos, mas package.json facilita o acesso e o gerenciamento de seus scripts.
Observe que você precisa ter o npm e o Node instalados em seu ambiente de desenvolvimento para acompanhar. Aqui estão alguns artigos úteis:
- Como instalar Node.js e npm no Windows.
- Como instalar Node.js e npm no Ubuntu.
Para configurar um script npm em package.json, siga os passos abaixo:
- Navegue até a raiz do seu projeto.
- Execute npm init no terminal. O comando fará algumas perguntas sobre seu projeto. Responda-os para criar um arquivo package.json apropriado.
npm init
- No arquivo package.json, localize o campo scripts. Aqui, você pode adicionar o nome de um script e o comando que ele deve executar como pares chave/valor. Por exemplo, o script abaixo, chamado hello-world, imprime “Hello world” no terminal quando executado.
{
"scripts": {
"Olá Mundo": "eco \\"Olá Mundo\\""
}
}
Aqui estão alguns scripts comuns para projetos JavaScript:
- começar: Este script inicia o servidor de desenvolvimento. Por exemplo, em um projeto Node, pode execute o servidor usando nodemon.
- construir: gera o código de produção para seu aplicativo e pode usar uma ferramenta como o webpack para reduzir e agrupar o código.
- teste: Este script executa os testes definidos em seu projeto. Ele pode executar uma estrutura de teste como Jest.
- fiapos: um script lint executa uma ferramenta de lint, como ESLint, para verificar possíveis erros no código.
- assistir: esse script observa o código-fonte em busca de alterações e, em seguida, executa um comando. É útil para reexecutar testes ou reconstruir o aplicativo na mudança de código.
- implantar: executa um comando que implanta o aplicativo no ambiente especificado, como produção ou preparação.
Pré e Pós Scripts
npm suporta pré e pós scripts. Os pré-scripts são executados antes de um script específico, enquanto os pós-scripts são executados posteriormente. Você pode criar pré e pós scripts para qualquer script, apenas coloque o prefixo "pré" ou "pós" no nome do seu script.
Por exemplo, abaixo estão os scripts de pré-teste e pós-teste que serão executados antes e depois do script de teste, respectivamente.
{
"scripts": {
"pré-teste": "npm executar lint",
"teste": "brincadeira",
"pós-teste": "npm run build"
}
}
Executando scripts npm de package.json
Depois de adicionar um script npm ao package.json, você pode executá-lo usando o comando npmrun.
Aqui está a sintaxe:
execução npm
Por exemplo, para executar o script de início definido anteriormente, use:
npm executar início
Você pode executar o comando npmrun sozinho para obter a lista de todos os scripts disponíveis em um projeto. Veja alguns exemplos de saída:
Scripts disponíveis em [email protected] via `npm run-script`:
Olá Mundo
echo "Olá mundo"
Ele lista o nome do script e o comando que ele executa.
Usando comandos abreviados para executar scripts integrados
O npm oferece suporte a vários scripts integrados que você pode executar usando comandos abreviados. Por exemplo, para executar um script npm chamado start, você pode usar npm start, em vez de npm run start.
Isso é mais conveniente e rápido do que digitar o comando completo. Outros scripts integrados que você pode executar dessa forma incluem "teste", "parar" e "reiniciar".
Executando vários scripts npm
Você pode executar vários scripts npm de duas maneiras:
- sequencialmente
- Em paralelo
Se você estiver usando Linux ou qualquer outro sistema semelhante ao Unix, poderá usar o padrão métodos de execução de vários comandos ao mesmo tempo.
Para executar vários scripts npm sequencialmente, use &&, por exemplo:
npm run start && teste npm
Para executar vários scripts npm em paralelo, use &, por exemplo:
servidor de execução npm e cliente de execução npm
Em ambientes não UNIX, você pode usar o comando npm-run-all ou o pacote simultaneamente npm.
Usando npm-run-all:
npm-run-all --servidor paralelo cliente
Usando simultaneamente em package.json.
"scripts": {
"desenvolvimento": "simultaneamente \\"servidor de execução npm\\" \\"cliente de execução npm\\"",
}
Observe que você precisa instalar os pacotes npm-run-all e Concurrently antes de usá-los.
Solucionando problemas de erros comuns de script NPM
Abaixo estão alguns erros comuns que você pode encontrar ao executar scripts npm:
- npm erro! script ausente — Este erro ocorre quando você não definiu o script que está tentando executar no arquivo package.json. Verifique se você está digitando o nome do script corretamente e se está definido no campo scripts do arquivo package.json.
- Permissão negada — Este erro ocorre quando você não tem permissão para executar um script, portanto, certifique-se de ter as permissões corretas.
- Dependências ausentes — Este erro ocorre quando o script usa um pacote que não está instalado. Use uma ferramenta como depcheck para verificar se há dependências ausentes no package.json, instale-as usando npm install.
- Comando desconhecido — Esse erro geralmente ocorre quando você executa um script personalizado como um comando npm integrado. Certifique-se de usar execução npm ou script de execução npm ao executar scripts personalizados.
Usando variáveis de ambiente em scripts npm
Variáveis ambientais permitem que você passe informações sem codificá-las. Para usar variáveis de ambiente em um script npm, você pode usar o pacote npm cross-env. Esta ferramenta ajuda você a definir uma variável ambiental em qualquer ambiente.
Comece executando este comando no terminal para instalá-lo como uma dependência de desenvolvimento:
npm eu salvo -D cross-env
Em seguida, use-o em seu script assim:
{
"scripts": {
"construir": "cross-env NODE_ENV=webpack de produção"
}
}
Aqui, cross-env define a variável NODE_ENV como "produção".
Passando argumentos de linha de comando para scripts
Você pode passar argumentos de linha de comando para um script npm usando dois traços "--" após o nome do script. Por exemplo, o comando a seguir executa o script de teste com o argumento watch:
teste de execução npm -- --watch
Você também pode enviar um argumento de linha de comando para um script npm como este:
npm execute minha-porta --PORT=3000
Em seguida, acesse-o no script da seguinte maneira.
"scripts": {
"meu-porto": "eco \\"Porta: $npm_config_PORT\\""
}
Em um sistema Windows, use isto:
"scripts": {
"meu-porto": "eco \\"Porta: %npm_config_PORT%\\""
}
O script deve imprimir "Port: 3000" ao executá-lo.
Por que usar scripts npm?
Você pode adicionar scripts a package.json, executá-los na linha de comando, usar ganchos anteriores e posteriores e passar argumentos de linha e variáveis de ambiente para eles.
Os scripts npm são uma maneira poderosa de automatizar tarefas em projetos JavaScript. Eles podem melhorar seu fluxo de trabalho e economizar seu tempo fornecendo comandos consistentes para executar várias tarefas.