Cómo ejecutar el script de inicio con Nodemon


90

¿Cómo puedo ejecutar el script de inicio desde un archivo package.json con Nodemon?


¿Está seguro de que puede ejecutar un script de inicio desde package.json? Porque, por lo que sé, package.json es enumerar todas sus dependencias y nodemon es mantener su proceso en ejecución. No estoy muy seguro de lo que está insinuando aquí.
Saras Arya

Respuestas:


141

Este será un comando simple para esto

nodemon --exec npm start

¿Qué sucede si necesito ejecutar solo pruebas sin ejecutar la aplicación? Su solución funciona con ambos.
Sergey

1
esto se ejecuta npm startpero no inicia el servidor de nodo para mí ... ¿cómo sabría dónde está server.js?
Sonic Soul

38

En el paquete json:

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

  }
}

Luego desde la terminal puedes usar npm start

Instalación de Nodemon: https://www.npmjs.com/package/nodemon


1
Lo siento, estoy buscando una forma de ejecutar el script de inicio con nodemon, no ejecutar nodemon en el script de inicio. Lo siento si eso no quedó claro.
Citronen

6
¿No npm startfallará en producción por falta de nodemon?
ripper234

2
npm run startnonpm start
M. Dhaouadi

1
Soy un principiante con npm. No entiendo por qué necesitamos especificar el script de inicio mientras podemos usar nodemon listo para usar. Solo instalo nodemon con npm y lo uso directamente sin especificar ningún script y funciona perfectamente.
Hokhy Tann

@ M.Dhaouadi npm startes un alias denpm run start
George

16

Tengo un archivo TypeScript llamado "server.ts". Los siguientes scripts npm configuran Nodemon y npm para iniciar mi aplicación y monitorear cualquier cambio en los archivos TypeScript:

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

Ya tengo Nodemon en dependencias. Cuando lo ejecute npm start, le pedirá a Nodemon que monitoree sus archivos usando el -econmutador y luego llamará al myappscript npm, que es una combinación simple de transpilar los archivos mecanografiados y luego iniciar el server.js resultante. Cuando cambio el archivo TypeScript, debido al -ecambio, ocurre el mismo ciclo y se generarán y ejecutarán nuevos archivos .js.


14

Utilizo Nodemon versión 1.88.3 en mi proyecto Node.js. Para instalar Nodemon, consulte https://www.npmjs.com/package/nodemon .

Verifique su package.json, vea si "scripts" ha cambiado así:

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

server.jses mi nombre de archivo, puede usar otro nombre para este archivo como app.js.

Después de eso, ejecute esto en su terminal: npm run dev



5

Primero cambie su archivo package.json ,

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

Después de eso, ejecuta el comando

npm run start-dev

1
Pero cuando te escapas app.jsestás pasando por alto todo lo que ./bin/wwwhace ...
Jake Wilson

1
esta nueva pestaña abierta cada vez
Qui-Gon Jinn

5

En el archivo package.json. cambiar archivo como este

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

y luego ejecute npm run start-dev




1

También puede instalar nodemon globalmente para uso frecuente:

npm i nodemon -g o sudo npm i nodemon -g

luego edite su package.json:

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

Generalmente, 'dev' especifica el uso de desarrollo ( npm run dev ).


1

Dependerá de los tipos de instalación de Nodemon. Si instala Nodemon globalmente usando comandos ( npm install nodemon --globalo npm install nodemon -g), no tiene que especificar ningún script para Nodemon en su archivo package.json . Solo ejecutando el comandonodemon index.js ejecutará su proyecto.

Pero si instala Nodemon localmente mediante un comando npm install nodemon, debe especificar el script. Si lo nombra como inicio, entonces npm run starto npm startactivará la ejecución del servidor.

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

1

Si ha nodemoninstalado globalmente, simplemente ejecutar nodemonen su proyecto ejecutará automáticamente el startscript desdepackage.json .

Por ejemplo:

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

De la documentación de nodemon :

nodemon también buscará la propiedad scripts.start en package.json (a partir de nodemon 1.1.x).


0

En paquete json:

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

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

Y en la terminal para desarrollar:

npm run dev

Y para iniciar el servidor regularmente:

npm start

¿Qué es "regiuler" ? ¿Quiere decir "regular" ?
Peter Mortensen

-1

Para evitar una instalación global, agregue Nodemon como una dependencia, luego ...

package.json

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

Aún puede hacerlo "start-dev": "nodemon ./bin/www" si lo instala bajo devDependencies
WoLfPwNeR
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.