Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: UsuarioZ en 23 Diciembre 2022, 06:55 am



Título: Sourcemap min y codigo compilado con gulp
Publicado por: UsuarioZ en 23 Diciembre 2022, 06:55 am
Hola, estoy haciendo un proyecto con Gulp, con gulp-terserjs y gulp-sourcemaps  pero cuando compila el código javascript se agrega la línea
Código:
//# sourceMappingURL=bundle.js.map
al final, esto tira un error al ejecutar en el navegador, porque el archivo se llama "bundle.js.min.map" alguien sabe cómo cambiar el compilador para que compile siempre asi:
Código:
//#sourceMappingURL=bundle.js.min.map
, al cambiarlo en el archivo bundle.min.js se soluciona pero al hacer algún cambio y volver compilar se vuelve a como estaba.

En gulpfile:
Código:
function javascript() {
    return src(paths.js)
      .pipe(sourcemaps.init())
      .pipe(concat('bundle.js'))
      .pipe(terser())
      .pipe(sourcemaps.write('.'))
      .pipe(rename({ suffix: '.min' }))
      .pipe(dest('./public/build/js'))
}


Error:
Citar
Las Herramientas para desarrolladores no pudieron cargar el mapa de fuentes: No se pudo cargar contenido para http://localhost:3000/build/js/bundle.js.map: Error HTTP: código de estado 404, net::ERR_HTTP_RESPONSE_CODE_FAILURE

---Editado
Editando el gulpfile de esta forma queda así y ya no tira el error pero no elimina el url que estaba antes, solo agrega uno nuevo.


Código:
function javascript() {
    return src(paths.js)
      .pipe(sourcemaps.init())
      .pipe(concat('bundle.js'))
      .pipe(terser())
      .pipe(sourcemaps.write('.', {
        sourceMappingURLPrefix: 'bundle.js.min.map'
      }))
      .pipe(rename({ suffix: '.min' }))
      .pipe(dest('./public/build/js'))
}

--- Solucionado:

Renombrando antes de mapear se solucionaba..

Código:
function javascript() {
    return src(paths.js)
      .pipe(sourcemaps.init())
      .pipe(concat('bundle.js'))
      .pipe(terser())
      .pipe(rename({ suffix: '.min' }))
      .pipe(sourcemaps.write('.'))
      .pipe(dest('./public/build/js'))
}