Pregunta

He empezado a jugar con koa, pero hasta ahora no hemos podido encontrar una solución decente para recargar automáticamente la aplicación al cambiar el código.

Mi entendimiento es que nodemonio es la solución preferida en el universo Node, pero recibo errores debido a la --harmony bandera (requerida por Koa):

$ node_modules/.bin/nodemon /path/to/node-unstable/bin/node app.js
/path/to/node-unstable/bin/node --harmony $@
                     ^^^^^^^
SyntaxError: Unexpected identifier
[nodemon] app crashed - waiting for file changes before starting...
¿Fue útil?

Solución

node_modules/.bin/nodemon --harmony-generators app.js debe ser suficiente

Otros consejos

Me gustaría recomendarle "PM2": http://pm2.keymetrics.io/

PM2 es un administrador de procesos. Gestiona a los Estados sus aplicaciones, para que pueda comenzar, detener, reiniciar y eliminar procesos.

Puede instalar fácilmente PM2 (generalmente en su máquina) escribiendo: sudo npm install -g pm2

Básicamente PM2 Cuando vea algunos cambios en su código, reinicie su proceso por la manera, si su proceso se ha reiniciado, se reiniciará y se registrará el error. Para obtener más información, eche un vistazo a la página de documentación: http://pm2.keymetrics.io/docs/usage/cluster-mode/

Configuración de la opción 'EXECMAP' en esta tarea de trámite funciona para mí:

var nodemon = require('gulp-nodemon');

gulp.task('serve-dev', function() {
    var options = {
        script: './src/server/app.js',
        execMap: { 
            "js": "node --harmony"
        },
        delayTime: 1,
        env: {
            'PORT': port,
            'NODE_ENV': 'dev'
        },
        watch: ['./src/server/']
    };

    return nodemon(options);
});

Obviamente, sus otras opciones pueden diferir, pero incluyí todo lo que me molesta cuando estoy aprendiendo algo para ver el mínimo desnudo en una respuesta.

Recientemente terminé de crear una API web simple usando KOA, y en cuanto a una acción de recarga después de los cambios de código, utilicé babel-watch

La ventaja de usarla ya está declarada en el repo:

Si está cansado de usar Babel-nodo junto con Nodemon (o solución similar).La razón por la que la configuración mencionada anteriormente realiza tan mal es la hora de inicio del nodo de Babel.Babel-Watch solo comienza a Babel en el proceso "Master", donde también comienza al observador de archivos.La transpiración se realiza en ese proceso también.En los eventos de File-Watcher, genera un proceso de nodo puro y pasa el código transpilado desde el proceso principal junto con los mapas de origen.Esto nos permite evitar cargar babel y todos sus deps cada vez que reiniciamos el script / aplicación de JS.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top