Como executar o script de inicialização com o Nodemon


92

Como posso executar o script de inicialização de um arquivo package.json com o Nodemon?


Tem certeza de que pode executar um script de início de package.json? Porque pelo que eu sei, package.json é para listar todas as suas dependências e nodemon é para manter seu processo em execução. Não tenho certeza do que você está sugerindo aqui.
Saras Arya

Respostas:


142

Este será um comando simples para este

nodemon --exec npm start

E se eu precisar executar apenas testes sem executar o aplicativo? Sua solução executa ambos.
Sergey

1
isso é executado, npm startmas não inicia o servidor de nó para mim .. como ele saberia onde server.js está?
Sonic Soul de

41

No pacote json:

{
  "name": "abc",
  "version": "0.0.1",
  "description": "my server",
  "scripts": {
    "start": "nodemon my_file.js"
  },
  "devDependencies": {
    "nodemon": "~1.3.8",
  },
  "dependencies": {

  }
}

Então, a partir do terminal, você pode usar npm start

Instalação do Nodemon: https://www.npmjs.com/package/nodemon


1
Desculpe, estou procurando uma maneira de executar o script de inicialização com o nodemon, não executar o nodemon no script de inicialização. Desculpe se não ficou claro.
Citronen

6
Não vai npm startfalhar na produção por falta de nodemon?
ripper234

2
npm run startnãonpm start
M. Dhaouadi

1
Sou um iniciante com npm. Não entendo por que precisamos especificar o script de início enquanto podemos usar o nodemon pronto para uso? Acabei de instalar o nodemon com o npm e usá-lo diretamente sem especificar nenhum script e funciona perfeitamente.
Hokhy Tann,

@ M.Dhaouadi npm starté um alias denpm run start
George

18

Eu tenho um arquivo TypeScript chamado "server.ts", os scripts npm a seguir configuram o Nodemon e o npm para iniciar meu aplicativo e monitorar quaisquer alterações nos arquivos TypeScript:

"start": "nodemon -e ts  --exec \"npm run myapp\"",
"myapp": "tsc -p . && node server.js",

Já tenho o Nodemon nas dependências. Quando eu executar npm start, ele pedirá ao Nodemon para monitorar seus arquivos usando o -eswitch e então chamará o myappscript npm, que é uma combinação simples de transpilar os arquivos typescript e iniciar o server.js resultante. Quando eu mudo o arquivo TypeScript, por causa da -etroca o mesmo ciclo acontece e novos arquivos .js serão gerados e executados.


15

Eu uso o Nodemon versão 1.88.3 no meu projeto Node.js. Para instalar o Nodemon, consulte https://www.npmjs.com/package/nodemon .

Verifique seu package.json, veja se "scripts" mudou assim:

  "scripts": {
    "dev": "nodemon server.js"
  },

server.jsé o meu nome de arquivo, você pode usar outro nome para este arquivo como app.js.

Depois disso, execute isto em seu terminal: npm run dev



5

Primeiro mude seu arquivo package.json ,

"scripts":
    { 
        "start": "node ./bin/www",
        "start-dev": "nodemon ./app.js"
    },

Depois disso, execute o comando

npm run start-dev

1
Mas quando você foge de app.jsvocê está contornando tudo o que ./bin/wwwfaz ...
Jake Wilson

1
esta aba nova cada vez
Qui-Gon Jinn

5

No arquivo package.json. mudar arquivo assim

"scripts":{ 
   "start": "node ./bin/www", 
   "start-dev": "nodemon ./app.js"
 },

e então execute npm run start-dev




2

Na embalagem json:

"scripts": {
  "start": "node index",
  "dev": "nodemon index"
},

"devDependencies": {
  "nodemon": "^2.0.2"
}

E no terminal de desenvolvimento:

npm run dev

E para iniciar o servidor regularmente:

npm start

O que é "regiuler" ? Você quer dizer "regular" ?
Peter Mortensen

1

Você também pode instalar o nodemon globalmente para uso frequente:

npm i nodemon -g ou sudo npm i nodemon -g

em seguida, edite seu package.json:

  "scripts": {
    "start": "node index.js",
    "dev": "nodemon index.js"
  },

Geralmente, 'dev' especifica o uso de desenvolvimento ( npm run dev ).


1

Dependerá dos tipos de instalação do Nodemon. Se você instalar o Nodemon globalmente usando comandos ( npm install nodemon --globalou npm install nodemon -g), não precisará especificar nenhum script para o Nodemon no arquivo package.json . Apenas executando o comandonodemon index.js executará seu projeto.

Mas se você instalar o Nodemon localmente por comando npm install nodemon, terá que especificar o script. Se você nomeá-lo como start, então npm run startou npm startfará com que o servidor seja executado.

// Absolutely no need for global installation
 "scripts": {
    "start": "nodemon index.js"
  }

1

Se você nodemoninstalou globalmente, simplesmente executando nodemonem seu projeto executará automaticamente o startscript de package.json.

Por exemplo:

"scripts": {
  "start": "node src/server.js"
},

Da documentação do nodemon :

O nodemon também pesquisará pela propriedade scripts.start em package.json (a partir de nodemon 1.1.x).


-1

Para evitar uma instalação global, adicione Nodemon como uma dependência e ...

package.json

"scripts": {
    "start": "node ./bin/www",
    "start-dev": "./node_modules/nodemon/bin/nodemon.js ./bin/www"
  },

Você ainda pode torná-lo "start-dev": "nodemon ./bin/www" se você instalá-lo em devDependencies
WoLfPwNeR
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.