Solucionado (ver solução)
Solucionado
(ver solução)
7
respostas

Problema Gulp uglify

Olá Pessoal,

Estou com um problema. Seguindo o curso de GULP, na seção 3, quando uso o "uglify" me deparo com um erro que não sei resolver..

events.js:141
      throw er; // Unhandled 'error' event
      ^
Error
    at new JS_Parse_Error (/home/epansani/Dropbox/Alura/Curso Gulp/projeto2/node_modules/uglify-js/lib/parse.js:196:18)
    at js_error (/home/epansani/Dropbox/Alura/Curso Gulp/projeto2/node_modules/uglify-js/lib/parse.js:204:11)
    at parse_error (/home/epansani/Dropbox/Alura/Curso Gulp/projeto2/node_modules/uglify-js/lib/parse.js:314:9)
    at /home/epansani/Dropbox/Alura/Curso Gulp/projeto2/node_modules/uglify-js/lib/parse.js:534:36
    at Object.next_token [as input] (/home/epansani/Dropbox/Alura/Curso Gulp/projeto2/node_modules/uglify-js/lib/parse.js:559:36)
    at next (/home/epansani/Dropbox/Alura/Curso Gulp/projeto2/node_modules/uglify-js/lib/parse.js:666:25)
    at expect_token (/home/epansani/Dropbox/Alura/Curso Gulp/projeto2/node_modules/uglify-js/lib/parse.js:699:20)
    at expect (/home/epansani/Dropbox/Alura/Curso Gulp/projeto2/node_modules/uglify-js/lib/parse.js:704:36)
    at /home/epansani/Dropbox/Alura/Curso Gulp/projeto2/node_modules/uglify-js/lib/parse.js:1220:9
    at /home/epansani/Dropbox/Alura/Curso Gulp/projeto2/node_modules/uglify-js/lib/parse.js:727:24

npm ERR! Linux 4.4.0-21-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "run" "gulp"
npm ERR! node v4.2.6
npm ERR! npm  v3.5.2
npm ERR! code ELIFECYCLE
npm ERR! projeto2@1.0.0 gulp: `gulp`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the projeto2@1.0.0 gulp script 'gulp'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the projeto2 package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     gulp
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs projeto2
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls projeto2
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /home/epansani/Dropbox/Alura/Curso Gulp/projeto2/npm-debug.log

Alguém sabe o que pode ser?

ps. meu gulpfile.js:

var gulp = require('gulp')
   ,imagemin = require('gulp-imagemin')
   ,clean = require('gulp-clean')
   ,concat = require('gulp-concat')
   ,htmlReplace = require('gulp-html-replace')
   ,uglify = require('gulp-uglify');

gulp.task('default', ['copy'], function() {
    gulp.start('build-img', 'build-html', 'build-js');
});

gulp.task('copy', ['clean'], function() {
    return gulp.src('src/**/*')
        .pipe(gulp.dest('dist'));
});

gulp.task('clean', function() {
    return gulp.src('dist')
        .pipe(clean());
});

// adicionando a dependência copy
gulp.task('build-img', function() {

  gulp.src('dist/img/**/*')
    .pipe(imagemin())
    .pipe(gulp.dest('dist/img'));
});

gulp.task('build-js', function() {
   gulp.src(['dist/js/jquery.js', 
      'dist/js/home.js', 
      'dist/js/ativa-filtro.js'])
        .pipe(concat('all.js'))
        .pipe(uglify())
        .pipe(gulp.dest('dist/js'));
});

gulp.task('build-html', function() {
    gulp.src('dist/**/*.html')
        .pipe(htmlReplace({
            'js': 'js/all.js'
        }))
        .pipe(gulp.dest('dist/'));
});
7 respostas

Eu iria pelo que o erro ta sugerindo.. qual versão do node vc tem instalado? é a mesma usada durante o curso? Eu testaria com a 6 e depois com a 4.

Obrigado pela resposta Alberto. Então, quanto a versão, fiz o upgrade para a 6 e tentei rodar. Aparentemente o erro persiste... =(

Uma outra tentativa foi "recomeçar", voltei a aula 1 e fui fazendo passo a passo cada etapa. mas não tive sucesso. Cheguei exatamente ao mesmo problema.

> src@1.0.0 gulp /home/epansani/Dropbox/Alura/Curso Gulp/projeto
> gulp

[15:15:44] Using gulpfile ~/Dropbox/Alura/Curso Gulp/projeto/gulpfile.js
[15:15:44] Starting 'clean'...
[15:15:44] Finished 'clean' after 45 ms
[15:15:44] Starting 'copy'...
[15:15:44] Finished 'copy' after 79 ms
[15:15:44] Starting 'default'...
[15:15:44] Starting 'build-img'...
[15:15:44] Finished 'build-img' after 4.35 ms
[15:15:44] Starting 'usemin'...
[15:15:44] Finished 'default' after 61 ms

stream.js:74
      throw er; // Unhandled stream error in pipe.
      ^
Error
    at new JS_Parse_Error (/home/epansani/Dropbox/Alura/Curso Gulp/projeto/node_modules/uglify-js/lib/parse.js:196:18)
    at js_error (/home/epansani/Dropbox/Alura/Curso Gulp/projeto/node_modules/uglify-js/lib/parse.js:204:11)
    at parse_error (/home/epansani/Dropbox/Alura/Curso Gulp/projeto/node_modules/uglify-js/lib/parse.js:314:9)
    at /home/epansani/Dropbox/Alura/Curso Gulp/projeto/node_modules/uglify-js/lib/parse.js:534:36
    at Object.next_token [as input] (/home/epansani/Dropbox/Alura/Curso Gulp/projeto/node_modules/uglify-js/lib/parse.js:559:36)
    at next (/home/epansani/Dropbox/Alura/Curso Gulp/projeto/node_modules/uglify-js/lib/parse.js:666:25)
    at expect_token (/home/epansani/Dropbox/Alura/Curso Gulp/projeto/node_modules/uglify-js/lib/parse.js:699:20)
    at expect (/home/epansani/Dropbox/Alura/Curso Gulp/projeto/node_modules/uglify-js/lib/parse.js:704:36)
    at /home/epansani/Dropbox/Alura/Curso Gulp/projeto/node_modules/uglify-js/lib/parse.js:1220:9
    at /home/epansani/Dropbox/Alura/Curso Gulp/projeto/node_modules/uglify-js/lib/parse.js:727:24

npm ERR! Linux 4.4.0-21-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/local/bin/npm" "run" "gulp"
npm ERR! node v6.9.2
npm ERR! npm  v4.0.5
npm ERR! code ELIFECYCLE
npm ERR! src@1.0.0 gulp: `gulp`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the src@1.0.0 gulp script 'gulp'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the src package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     gulp
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs src
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls src
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /home/epansani/Dropbox/Alura/Curso Gulp/projeto/npm-debug.log

Alguma ideia?

Obrigado!

Eder, tudo bem?

Vi que o seu diretório é "Curso Gulp". Em várias linguagens e frameworks, ter espaço no nome de pastas lhe causará muitas dores de cabeça. Sendo assim, para saber se é este o problema, remova o espaço no nome da pasta e faça um teste.

Aguardo o resultado.

Tudo ok Flávio!

Então, compreendo a questão do espaço, mas creio que não é isso que está atrapalhando, pois retirei e continua o mesmo problema.

log:

epansani@pansani-note ~/Dropbox/Alura/CursoGulp/projeto $ npm run gulp

> src@1.0.0 gulp /home/epansani/Dropbox/Alura/CursoGulp/projeto
> gulp

[17:47:53] Using gulpfile ~/Dropbox/Alura/CursoGulp/projeto/gulpfile.js
[17:47:53] Starting 'clean'...
[17:47:53] Finished 'clean' after 45 ms
[17:47:53] Starting 'copy'...
[17:47:53] Finished 'copy' after 75 ms
[17:47:53] Starting 'default'...
[17:47:53] Starting 'build-img'...
[17:47:53] Finished 'build-img' after 3.22 ms
[17:47:53] Starting 'usemin'...
[17:47:53] Finished 'default' after 58 ms

stream.js:74
      throw er; // Unhandled stream error in pipe.
      ^
Error
    at new JS_Parse_Error (/home/epansani/Dropbox/Alura/CursoGulp/projeto/node_modules/uglify-js/lib/parse.js:196:18)
    at js_error (/home/epansani/Dropbox/Alura/CursoGulp/projeto/node_modules/uglify-js/lib/parse.js:204:11)
    at parse_error (/home/epansani/Dropbox/Alura/CursoGulp/projeto/node_modules/uglify-js/lib/parse.js:314:9)
    at /home/epansani/Dropbox/Alura/CursoGulp/projeto/node_modules/uglify-js/lib/parse.js:534:36
    at Object.next_token [as input] (/home/epansani/Dropbox/Alura/CursoGulp/projeto/node_modules/uglify-js/lib/parse.js:559:36)
    at next (/home/epansani/Dropbox/Alura/CursoGulp/projeto/node_modules/uglify-js/lib/parse.js:666:25)
    at expect_token (/home/epansani/Dropbox/Alura/CursoGulp/projeto/node_modules/uglify-js/lib/parse.js:699:20)
    at expect (/home/epansani/Dropbox/Alura/CursoGulp/projeto/node_modules/uglify-js/lib/parse.js:704:36)
    at /home/epansani/Dropbox/Alura/CursoGulp/projeto/node_modules/uglify-js/lib/parse.js:1220:9
    at /home/epansani/Dropbox/Alura/CursoGulp/projeto/node_modules/uglify-js/lib/parse.js:727:24

npm ERR! Linux 4.4.0-21-generic
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "run" "gulp"
npm ERR! node v6.9.2
npm ERR! npm  v3.10.9
npm ERR! code ELIFECYCLE
npm ERR! src@1.0.0 gulp: `gulp`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the src@1.0.0 gulp script 'gulp'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the src package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     gulp
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs src
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls src
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /home/epansani/Dropbox/Alura/CursoGulp/projeto/npm-debug.log

Mais alguma idea plz?

PS. Mais informações sobre:

Package.json:

{
  "name": "src",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "gulp": "gulp"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "browser-sync": "^2.9.8",
    "gulp": "^3.9.0",
    "gulp-autoprefixer": "^3.0.2",
    "gulp-clean": "^0.3.1",
    "gulp-concat": "^2.6.0",
    "gulp-csslint": "^0.2.0",
    "gulp-cssmin": "^0.1.7",
    "gulp-html-replace": "^1.5.4",
    "gulp-imagemin": "^2.3.0",
    "gulp-jshint": "^1.11.2",
    "gulp-uglify": "^1.4.1",
    "gulp-usemin": "^0.3.14",
    "jshint-stylish": "^2.0.1"
  },
  "description": ""
}

Obrigado!

solução!

Sim, o erro é " at new JS_Parse_Error " Parece haver algum erro de digitação no script que você esta tentando minificar. É por isso, talvez, que você olha no seu gulp file e não encontre o erro.

Verifique o código JavaScript que você escreveu ou alterou que esta sendo minificado. Se houver erro, não vai rolar a minificação. Verifique principalmente se você usou ponto e vírgula onde deveria.

Aguardo seu retorno.

Olá Flávio, boas notícias! It works!

epansani@pansani-note ~/Dropbox/Alura/CursoGulp/projeto $ npm run gulp

> src@1.0.0 gulp /home/epansani/Dropbox/Alura/CursoGulp/projeto
> gulp

[11:12:30] Using gulpfile ~/Dropbox/Alura/CursoGulp/projeto/gulpfile.js
[11:12:30] Starting 'clean'...
[11:12:30] Finished 'clean' after 38 ms
[11:12:30] Starting 'copy'...
[11:12:30] Finished 'copy' after 68 ms
[11:12:30] Starting 'default'...
[11:12:30] Starting 'build-img'...
[11:12:30] Finished 'build-img' after 4.88 ms
[11:12:30] Starting 'usemin'...
[11:12:30] Finished 'default' after 70 ms
[11:12:35] Finished 'usemin' after 5.33 s
[11:12:37] gulp-imagemin: Minified 32 images (saved 181.09 kB - 8.7%)

Realmente o problema era erro no JS. Não sabia que se houvesse erro no JS a minificação não poderia ser feita...

Em uma aula pede-se para deixar apenas uma imagem, mudando o arquivo home.js, e logo depois vem a lição onde usa o JSHINT, lá forçamos um erro no JS e acabei esquecendo de consertar esse erro, veja:

var banners = ["img/destaque-home-2.png];
function trocaBanner() {
    document.querySelector('.destaque img').src = banners[0];
    banners.reverse();
}

Falta fechar a aspa da variável banner!

Mas muito obrigado pelo auxilio. =D

Agora vou terminar o curso de Gulp.

Um forte abraço!

Que boa notícia! :) Sucesso e bom estudo Eder!