标签: gulp-uglify

丑化失败.意外的字符'''

gulp-uglify无法解释这段代码:

    var alertString = `<?xml version="1.0" encoding="UTF-8" ?>
        <document>
          <alertTemplate>
            <title>${title}</title>
            <description>${description}</description>
          </alertTemplate>
        </document>`
Run Code Online (Sandbox Code Playgroud)

它抱怨这个角色:`.该角色对苹果的JS框架有效.我无法在uglify包中看到任何内容来忽略这些字符及其中的文本字符串.我错过了文档中的内容吗?

gulp gulp-uglify tvml tvjs

8
推荐指数
1
解决办法
1万
查看次数

Uglify使用Gulp缩小并生成源地图

有人可以解释如何uglify,然后concat并最终使用gulp生成源地图?我似乎无法让它工作.我没有在API中看到任何关于此的内容,但在我看来它应该得到支持.关键是生成源映射并在设置断点时使用源文件.我已经尝试将第concat一个放在下面的代码中,但是当我这样做时,断点在chrome浏览器中不起作用.

我正在使用
concat = require('gulp-concat'),uglify = require('gulp-uglify').

gulp.src(['src/app.js', 'src/**/*.js'])
    .pipe(sourcemaps.init())
    .pipe(uglify({
        compress: {
            negate_iife: false
        }
    }))
    .pipe(concat("app.concat.js"))
    .pipe(rename('app.min.js'))
    .pipe(sourcemaps.write('./'))
    .pipe(gulp.dest('public/js'));
Run Code Online (Sandbox Code Playgroud)

node.js gulp gulp-sourcemaps gulp-concat gulp-uglify

7
推荐指数
1
解决办法
1万
查看次数

然后Gulp捆绑缩小

我正在为我的应用程序创建3个缩小的包.我有两个任务要做,缩小和捆绑.Minify依赖于bundle.如果我运行minify,两个任务都会运行而没有错误.捆绑包已创建,但缩小的文件不是.如果我删除对bundle的依赖,那么我可以自己运行minify并成功创建缩小的文件.这让我相信当minify任务触发时可能正在使用文件(因为bundle还没有完成?).如何使其等待文件完全准备好?我可以通过这条小溪吗?或者将这些组合成一个任务?它们目前不是单个任务的原因是因为它们每个捆绑包输出2个文件(一个未分类和缩小的捆绑包).

var outFolder = __dirname + '\\Scripts\\dist';
var appBundles = [
    { scripts: ['Scripts/Common/**/*.js'], output: 'eStore.common.js' },
    { scripts: ['Scripts/Checkout/**/*.js'], output: 'eStore.checkout.js' },
    { scripts: ['Scripts/ProductDetail/**/*.js'], output: 'eStore.product.js' }
];

gulp.task('bundle', bundle);
gulp.task('minify', ['bundle'], minify);  // this one doesn't work
gulp.task('minifyOnly', minify);          // this one works

function bundle() {
    appBundles.forEach(function (appBundle) {
        gulp.src(appBundle.scripts)
            .pipe(concat(appBundle.output))
            .pipe(sourcemaps.init())
            .pipe(sourcemaps.write(outFolder + '\\maps'))
            .pipe(gulp.dest(outFolder))
            .on('error', errorHandler);
    });
}

function minify() {
    appBundles.forEach(function(appBundle) {
        var bundleSrc = outFolder + '\\' + appBundle.output;
        gulp.src(bundleSrc)
            .pipe(rename({ extname: '.min.js' …
Run Code Online (Sandbox Code Playgroud)

gulp gulp-concat gulp-uglify

7
推荐指数
1
解决办法
4072
查看次数

Gulp-sourcemaps没有创建源图文件?

我正在尝试使用Gulp源图来编写文件,但我无法在任何地方看到这些文件.如果在工作树中创建了任何新文件,我会看到它们git status,但没有任何新文件可以找到.

下面是我的gulpfile.js

var gulp = require('gulp'),
    sourcemaps = require('gulp-sourcemaps'),
    minify = require('gulp-minify'),
    concat = require('gulp-concat'),
    uglify = require('gulp-uglify');

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

    return gulp.src('src/js/**/*.js')
        .pipe(sourcemaps.init())
            .pipe(concat('all.js'))
            .pipe(uglify())
        .pipe(sourcemaps.write())
        .pipe(gulp.dest('./public/js'));
});
Run Code Online (Sandbox Code Playgroud)

这是正确的用法吗?从我在别处看到的例子来看,这应该没问题.我还看到这些插件可与源图混合:https://github.com/floridoo/gulp-sourcemaps/wiki/Plugins-with-gulp-sourcemaps-support

javascript gulp gulp-uglify

7
推荐指数
1
解决办法
4957
查看次数

如何uglify javascript类?

我正在使用类语法编写基本的javascript 并尝试使用gulp进行uglify,但是收到此错误:

events.js:72
throw er; //未处理的'错误'事件

我只是使用了mozilla网站上的示例代码:

class Polygon {
  constructor(height, width) {
    this.height = height;
    this.width = width;
  }
}
Run Code Online (Sandbox Code Playgroud)

我的gulp文件没什么特别的 - 适用于任何非类js:

// Include gulp
var gulp = require('gulp');

// Include Our Plugins
var jshint = require('gulp-jshint');
var concat = require('gulp-concat');
var uglify = require('gulp-uglify');
var rename = require('gulp-rename');

// Lint Task
gulp.task('lint', function() {
    return gulp.src('js/*.js')
        .pipe(jshint())
        .pipe(jshint.reporter('default'));
});

// Concatenate & Minify JS
gulp.task('scripts', function() {
    return gulp.src('js/*.js')
        .pipe(concat('all.js'))
        .pipe(gulp.dest('dist/js'))
        .pipe(rename('all.min.js'))
        .pipe(uglify()) …
Run Code Online (Sandbox Code Playgroud)

javascript class gulp-uglify

7
推荐指数
1
解决办法
4152
查看次数

如何使用Gulp缩小ES6

gulpfile.js手动编写相对较新.我有一个基于Backbone和Marionette的项目,其中gulp文件到目前为止如下所示:

var gulp = require('gulp');
var $ = require('gulp-load-plugins')();
var browserify = require('browserify');
var del = require('del');
var watchify = require('watchify');
var source = require('vinyl-source-stream');
var stylish = require('jshint-stylish');
var buffer = require('vinyl-buffer');
var _ = require('lodash');

var browserSync = require('browser-sync').create();
var reload = browserSync.reload;

gulp.task('clean', function(cb) {
  return del([
    'app/tmp'
  ], cb);
});

gulp.task('html', function() {
  return gulp.src('./src/index.html')
    .pipe($.plumber())
    .pipe(gulp.dest('./dist'));
});

gulp.task('images', function() {
  gulp.src(['./src/assets/images/*.jpg', './src/assets/images/*.svg', './src/assets/images/*.gif',
    './src/assets/images/*.png'
  ])
  .pipe(gulp.dest('./dist/images'));
});

gulp.task('vendor-css', function() {
  gulp.src(['./src/assets/styles/vendor/*.css'
  ])
  .pipe(gulp.dest('./dist')); …
Run Code Online (Sandbox Code Playgroud)

javascript uglifyjs gulp gulp-uglify

7
推荐指数
1
解决办法
5685
查看次数

使用 UglifyJS2 和 gulp 插件时保留许可证注释

在这个项目中,我使用gulp-uglify版本 3.0.1,我想在输出中保留包含许可证文本的注释。

在项目页面上指出

Most of the minify options from the UglifyJS API are supported.
Run Code Online (Sandbox Code Playgroud)

这个答案展示了如何将minify 选项传递给插件。

UglifyJS 自述文件中指出,为了保留许可证文本

You can pass --comments to retain certain comments in the output. By default it will keep JSDoc-style comments that contain "@preserve", "@license" or "@cc_on" (conditional compilation for IE)
Run Code Online (Sandbox Code Playgroud)

所以我尝试了:

.pipe(uglify({
    mangle: true,
    output: {
        beautify: true,
        comments: "all"
    }
}))
Run Code Online (Sandbox Code Playgroud)

但由于即使指定也"all"不会产生任何许可证归属注释,我假设 minify 选项的comments行为与命令行参数不同--comments

我也尝试了这里的preserveComments发现,但只会生成:

[13:37:42] …
Run Code Online (Sandbox Code Playgroud)

uglifyjs uglifyjs2 gulp webpack gulp-uglify

7
推荐指数
1
解决办法
1616
查看次数

Gulp Uglify从Paper.js图书馆制作奇怪的角色

我在一个项目中使用了Paper.js的Bower包.我正在使用Gulp为浏览器准备项目.但是,有些字符在bower_components/paper/dist/paper-full.min.js中看起来像这样:

\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec...
Run Code Online (Sandbox Code Playgroud)

通过Gulp之后最终会像这样结束:

ªµºÀ-ÖØ-öø-?ˆ-??-????-????-???-???-??-??-??-??-???-??-??-??-??...
Run Code Online (Sandbox Code Playgroud)

导致控制台错误

未捕获的SyntaxError:无效的正则表达式:/ [ªÂÂÂÂÂÂÂÂÂÃÂ-Ã-Ã-Ã-Ãø-ˈ-Ë'Ë-ËËËËËËÍÍÍÍÍÍÍÍÍÍÍÎÎÎΠΊΌΎ-Ρ[更多奇怪的字符]字符类中的范围乱序

这是我的gulp文件的相关块:

var gulp = require('gulp');
var stylus = require('gulp-stylus');
var uglify = require('gulp-uglify');
var concat = require('gulp-concat');
var browserify = require('browserify');
var reactify = require('reactify');
var source = require('vinyl-source-stream');
var jade = require('gulp-jade');
var nib = require('nib');
var del = require('del');

var cfg = require('./cfg.json');

var action = {
  clean: function(cb){
    del([
      ['./', cfg.dir.root.dev].join('')
    ], cb);
  },
  concatLibs: function(){
    gulp.src([
      './bower_components/jquery/dist/jquery.min.js',
      './bower_components/react/react.js',
      './bower_components/when/es6-shim/Promise.js',
      './bower_components/lodash/lodash.min.js',
      './bower_components/postal.js/lib/postal.min.js',
      './bower_components/oboe/dist/oboe-browser.min.js',
      './bower_components/paper/dist/paper-full.min.js'])
      .pipe(uglify())
      .pipe(concat('lib.js'))
      .pipe(gulp.dest(['./', …
Run Code Online (Sandbox Code Playgroud)

javascript paperjs gulp gulp-uglify

6
推荐指数
1
解决办法
869
查看次数

webpack uglify有很多警告

当我运行webpack uglify插件时,我收到了来自stylus loader/css-loader的大量警告.我该如何解决?webpack成功捆绑了它.

   Condition always true [./~/style-loader!./~/css-loader!./~/stylus-loader!./app/<filename>.styl:10,0]
Run Code Online (Sandbox Code Playgroud)

stylus gulp webpack gulp-uglify

6
推荐指数
1
解决办法
1813
查看次数

任何 Node.js Minifier 都支持 Javascript Null-Coalescing 运算符 (??)?

我正在尝试缩小 javascript 代码,其中包含许多空合并运算符 (??) 的实例,但是Unexpected token: operator (?)在解析包含 ?? 的行时,它们似乎都抛出错误。操作员。是否有任何更新的库有效?我尝试了以下方法:

gulp-uglify-es
terser
gulp-uglify
gulp-uglifyes
Run Code Online (Sandbox Code Playgroud)

javascript npm gulp gulp-uglify

5
推荐指数
0
解决办法
337
查看次数