【问题标题】:GulpUglifyError: unable to minify JavaScript Caused by: SyntaxError: Unexpected token name «k», expected punc «;»GulpUglifyError:无法缩小 JavaScript 原因:SyntaxError:意外的标记名称«k»,预期的标点符号«;»
【发布时间】:2018-04-28 07:12:55
【问题描述】:

我遇到了一些奇怪的错误,但为了抑制这些错误,我必须更改出现错误的所有内容?

//gulp file code
var fs = require('fs');
var path = require('path');`enter code here`
var merge = require('merge-stream');
var gulp = require('gulp');
var concat = require('gulp-concat');
var rename = require('gulp-rename');
var uglify = require('gulp-uglify');
var sourcemaps = require('gulp-sourcemaps');
var gutil = require('gulp-util');



gulp.task('css',function()
{

return gulp.src(['assets/css/*.css'])
    .pipe(sourcemaps.init())

    .pipe(sourcemaps.write())
    .pipe(uglify())
    .on('error', function (err) { gutil.log(gutil.colors.red('[Error]'), err.toString()); })
    .pipe(concat('all.css'))
    .pipe(gulp.dest('build/css'))

})
gulp.task('js',function()
{

return gulp.src(['shared/*.js','controller/*.js','directives/*.js','services/*.js'])
    .pipe(sourcemaps.init())

    .pipe(sourcemaps.write())
    .pipe(uglify())
    .on('error', function (err) { gutil.log(gutil.colors.red('[Error]'), err.toString()); })
    .pipe(concat('all.js'))
    .pipe(gulp.dest('build/js'))

})

gulp.task('default', ['css','js']);

我试图在网上找到解决方案,但没有成功

for (let k = 0; k < $scope.allCollctedTags.length; k++) 
{
 $scope.customtags.push($scope.allCollctedTags[k].text);
}

但是如果我将 let 替换为 var 那么这个错误现在被删除了下一个错误来自以下代码:

$scope.multipleImages.push(...response.data.result.imageName);
but if i write it as below then this error disappear
$scope.multipleImages.push(response.data.result.imageName);

also if i use underscore js then also it give me error 
let temparray = _.difference($scope.multipleImages,$scope.extractedImagesBrowse);

现在该怎么办,我可以在一两个文件中做这些事情,但对于整个项目我做不到。

【问题讨论】:

标签: angularjs gulp


【解决方案1】:

this 回答之后,我发现我尝试编译的代码无法用我拥有的ugilfy 版本解析。尝试使用ugifly-es 而不是纯uglify 包:

const uglify = require("gulp-uglify");

收件人:

const uglify = require("gulp-uglify-es");

并确保您已安装该软件包。

此外,如果您不想使用不受支持的软件包,请查看此 answer,因为它涵盖了您的问题:

【讨论】:

  • 由于某些原因 gulp-uglify-es 也会抛出错误,请使用 gulp-uglifyes。谢谢!
  • 2020:使用 terser / gulp-terser 代替 uglify-es / gulp-uglifyes
【解决方案2】:

如果您使用 ES6 语法,或者使用过滤器而不是将代码解析为 ES6(例如最新版本的 gulp-coffee),gulp-uglify 不支持。

您可以将gulp-uglify 替换为支持ES6 的terser

https://www.npmjs.com/package/terser

【讨论】:

  • 其实正确的模块是gulp-terser,那么可以在gulp任务中加入terser()(.pipe(terser())
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-09-28
  • 1970-01-01
  • 2020-09-28
  • 2018-08-02
  • 2020-10-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多