10
respostas

Rodando o uglify-js

Olá, estou já a um bom tempo parada nessa parte do curso pois sempre da um erro em algo. Agora finalmente estava dando certo, até li uns comentários sobre isso e tals... mas infelismente ainda não resolvi o problema e não sei o meu erro. Sempre que eu vou seguindo os passos do professor ele instala na máquina o uglifyjs. Tá eu vou lá e instalo da certo ao meu ver, pois não aparece erro, mas então eu vou pra primeira parte que o professor minifica o javaScript busca, ali já começa a aparecer o erro a baixo.

PS D:\projetos-html-css\performance-web> uglifyjs  site/assets/js/busca.js
uglifyjs : O arquivo C:\Users\talia\AppData\Roaming\npm\uglifyjs.ps1 não pode ser carregado
porque a execução de scripts foi desabilitada neste sistema. Para obter mais informações,
consulte about_Execution_Policies em https://go.microsoft.com/fwlink/?LinkID=135170.
No linha:1 caractere:1
+ uglifyjs  site/assets/js/busca.js
+ ~~~~~~~~
    + CategoryInfo          : ErrodeSegurança: (:) [], PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess

Pelo que me parece é que o powerShel não está habilitado e não aceita fazer essa ação, mas eu já fiz umas coisas para modificar isso mas isso sempre torna a aparecer quando tento minificar....

O que eu poderia fazer?? O que pode ser??

10 respostas

Fala ai Thallia, tudo bem? Recomendo você utilizar o CMD ou Windows Terminal (caso seja Windows 10, ele é bem bom e novo).

Espero ter ajudado.

Oii, muito obrigada por responder:) Fiz o que você falou, comecei a usar o CMD, deu bem certo tudo que estava dando errado no PowerShell. Bom, até aí sim ,mas quando chegou na parte final de minificar a pasta inteira de js pelo gulp minifyjs apareceu o erro seguinte:

D:\projetos-html-css\performance-web>gulp minify-js
AssertionError [ERR_ASSERTION]: Task function must be specified
    at Gulp.set [as _setTask] (D:\projetos-html-css\performance-web\node_modules\undertaker\lib\set-task.js:10:3)
    at Gulp.task (D:\projetos-html-css\performance-web\node_modules\undertaker\lib\task.js:13:8)
    at Object.<anonymous> (D:\projetos-html-css\performance-web\gulpfile.js:89:6)
    at Module._compile (node:internal/modules/cjs/loader:1108:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1137:10)
    at Module.load (node:internal/modules/cjs/loader:973:32)
    at Function.Module._load (node:internal/modules/cjs/loader:813:14)
    at Module.require (node:internal/modules/cjs/loader:997:19)
    at require (node:internal/modules/cjs/helpers:92:18)
    at requireOrImport (C:\Users\talia\AppData\Roaming\npm\node_modules\gulp-cli\lib\shared\require-or-import.js:19:11) {
  generatedMessage: false,
  code: 'ERR_ASSERTION',
  actual: false,
  expected: true,
  operator: '=='
}

Tava tudo dando certo até agr, o que pode ser?

Fala Thallia, compartilha o seu gulpfile comigo, pode ser algum detalhe na sintaxe e declaração das funções.

Fico no aguardo.

O arquivo do projeto?

gulpfile.js

/*

    Gulpfile de exemplo para algumas ações clássicas de otimização.

    Para aprender mais sobre Gulp, veja o Curso Online de Gulp do Alura:

        https://www.alura.com.br/curso-online-gulp

 */


var gulp = require('gulp');
var $ = require('gulp-load-plugins')({rename: {'gulp-rev-delete-original':'revdel', 'gulp-if': 'if'}});



/* Tasks base */
gulp.task('copy', function() {
    return gulp.src(['site/assets/{img,font}/**/*', 'site/app.yaml'], {base: 'site'})
        .pipe(gulp.dest('dist'));
});

gulp.task('clean', function() {
    return gulp.src('dist/', {read: false})
        .pipe($.clean());
});



/* Minificação */
gulp.task('minify-js', function() {
  return gulp.src('site/**/*.js')
    .pipe($.uglify())
    .pipe(gulp.dest('dist/'))
});

gulp.task('minify-css', function() {
  return gulp.src('site/**/*.css')
    .pipe($.cssnano({safe: true}))
    .pipe(gulp.dest('dist/'))
});

gulp.task('minify-html', function() {
  return gulp.src('site/**/*.html')
    .pipe($.htmlmin({collapseWhitespace: true}))
    .pipe(gulp.dest('dist/'))
});



/* Concatenação */
gulp.task('useref', function () {
    return gulp.src('site/index.html')
        .pipe($.useref())
        .pipe($.if('*.html', $.inlineSource()))
        .pipe($.if('*.html', $.htmlmin({collapseWhitespace: true})))
        .pipe($.if('*.js', $.uglify()))
        .pipe($.if('*.css', $.cssnano({safe: true})))
        .pipe(gulp.dest('dist'));
});



/* Imagens */
gulp.task('imagemin', function() {
    return gulp.src('site/assets/img/*')
        .pipe($.imagemin({
            progressive: true,
            svgoPlugins: [
                {removeViewBox: false},
                {cleanupIDs: false}
            ]
        }))
        .pipe(gulp.dest('dist/assets/img'));
});



/* Revisão de arquivos */
gulp.task('rev', function(){
  return gulp.src(['dist/**/*.{css,js,jpg,jpeg,png,svg}'])
    .pipe($.rev())
    .pipe($.revdel())
    .pipe(gulp.dest('dist/'))
    .pipe($.rev.manifest())
    .pipe(gulp.dest('dist/'))
})

gulp.task('revreplace', ['rev'], function(){
  return gulp.src(['dist/index.html', 'dist/app.yaml', 'dist/**/*.css'])
    .pipe($.revReplace({
        manifest: gulp.src('dist/rev-manifest.json'),
        replaceInExtensions: ['.html', '.yaml', '.js', '.css']
    }))
    .pipe(gulp.dest('dist/'));
});



/* Alias */
gulp.task('minify', ['minify-js', 'minify-css', 'minify-html']);
gulp.task('build', $.sequence(['minify-js', 'minify-css', 'imagemin'], 'useref', 'revreplace'));
gulp.task('default', $.sequence('clean', 'copy', 'build'));


Ele veio junto no projeto...

Alguém aí??

Fala Thallia, qual versão do gulp você está utilizando? Dá uma olhada no seu package.json.

Se tiver 4.x tente baixar para a ultima 3.x.

Espero ter ajudado.

Oii, está assim...

{
  "name": "curso-alura-site",
  "version": "0.0.1",
  "author": "Sérgio Lopes",
  "devDependencies": {
    "gulp": "^3.9.1",
    "gulp-clean": "^0.3.2",
    "gulp-cssnano": "^2.1.1",
    "gulp-htmlmin": "^1.3.0",
    "gulp-if": "^2.0.0",
    "gulp-imagemin": "^2.4.0",
    "gulp-inline-source": "^2.1.0",
    "gulp-load-plugins": "^1.2.0",
    "gulp-rev": "^7.0.0",
    "gulp-rev-delete-original": "^0.1.0",
    "gulp-rev-replace": "^0.4.3",
    "gulp-sequence": "^0.4.5",
    "gulp-uglify": "^1.5.3",
    "gulp-useref": "^3.0.8"
  }
}

Fala Thallia, realmente não está na versão 4.x, consegue compartilhar o projeto completo comigo? Assim eu simulo o problema por aqui e analiso com mais calma.

Pode compartillhar através do Github ou Google Drive (zipado).

Fico no aguardo.

Oii, demorei um pouco pra responder até pq eu nunca tinha mexido no github rsrsr mas finalmene consegui compartihar lá :) https://github.com/ThalliaB/performance-web.git

Fala Thallia, acabei de testar o projeto e aqui funcionou certinho, fui na raiz do projeto e use a ultima versão do Node 10.x, no caso: lts/dubnium.

Também apaguei o package-lock e rodei um npm i.

E rodei npx gulp.

A pasta dist foi gerada com os respectivos arquivos em problema algum.

Talvez seu problema seja a versão do Node.

Espero ter ajudado.