webserver - para - servidor local




usando gulp para configurar un servidor web local (2)

Vengo de un gruñido de fondo. Y la configuración de un servidor web era tan fácil como grunt connect .

Pondría el siguiente código en mi archivo grunt y ejecutaré grunt connect :

grunt.initConfig({
        // fire up the local server
        connect: {
            server: {
                options: {
                    port: 9778, //port to host on
                    livereload: 35729,
                    hostname: '0.0.0.0', //the hostname
                    base: 'out/' //the relative path from grunt file to base folder of web app
                }
            }
        }
    });

grunt.loadNpmTasks('grunt-contrib-connect');

Mi situación cambió ya que tuve que migrar para tragar. Pero no puedo hacer que funcione en trago. Puede ser debido a mi origen. Estoy usando gulp-webserver . Y agregué mi archivo gulp es el siguiente:

gulp.task('serve', function() {
  gulp.src('app')
    .pipe(webserver({
      path:'dist',
      port:'9090',
      livereload: true,
      directoryListing: true,
      open: true
    }));
});

Cuando navego a localhost:9090 , obtengo la respuesta: cannot GET /

¿Qué estoy haciendo mal? ¿No es la ruta de acceso relativa del archivo gulp? ¿Qué se supone que debo pasar a gulp.src ? Sería de gran ayuda si alguien pudiera darme un paso adelante a donde mirar.

EDITAR 1 mi archivo gulpfile, src y la carpeta después de la compilación, es decir, la carpeta dist todos están en el mismo nivel.

├── src       // my raw application folder
├── dist      // application folder after building
|   .
|   .
|   └── index.html
└── gulpfile.js

Me encontré con este problema cuando inadvertidamente comencé el servidor web justo después de mi tarea limpia, por lo que el directorio no existía realmente porque acababa de ser eliminado. El problema estaba aquí:

gulp.task('watch', ["build", "webserver"]);

Que comenzaba primero la tarea de compilación , que comenzaba una tarea limpia antes de que se ejecutara.

gulp.task('build', ["clean"])

Para solucionarlo, cambié a iniciar el servidor web dentro de la tarea de vigilancia en lugar de a la dependencia de la tarea de vigilancia.

gulp.task('watch', ["build"], function() {
    return gulp.start(['webserver']);
});

sobre todo significa que no encuentra index.html

return gulp.src('./app/')
  .pipe(plugin.webserver({
      host: '0.0.0.0',
      port: 6639,
      livereload: true,
      open: true,
      fallback: './dist/index.html'
  }));

principalmente es el problema con la configuración de la ruta ... prueba debajo en tu caso

  gulp.src('dist')
    .pipe(webserver({
         ......
    }));