首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与严格模式

与严格模式
EN

Stack Overflow用户
提问于 2017-05-09 13:49:14
回答 3查看 2K关注 0票数 2

在我的js文件被丑化之前我用了“吞咽-巴贝尔”。该模块阻止缩小,因为第三方js脚本不是“严格模式”编译器。

代码语言:javascript
复制
// Include gulp
var gulp = require('gulp');
var baseDir = "./";
var jsources = [
    "sites/**/js/*.js",
    "!sites/**/js/*.min.js"
];

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


// Minify JS
gulp.task('scripts', function () {
    return gulp.src(jsources, { base: baseDir })
        .pipe(babel({
            presets: [
                ['env', { modules: false }]
            ]
        }))
        .pipe(uglify().on('error', function (e) { console.log(e); }))
        .pipe(rename({ suffix: '.min' }))
        .pipe(gulp.dest(baseDir));
});

结果,我获得了一个错误,因为js文件不是严格模式编译器:

我不想修改那个第三方文件,使其成为严格的模式编译器。如何禁用该文件或其他类似文件的检查?

刚才因为这样的文件而被封锁了.

我试过了

  • 安装“转换-删除-严格模式”插件,然后执行以下操作 .pipe({“预设”:"env","plugins":“转换-删除-严格-模式”})
  • 我也试过 .pipe(babel({ es2015:[es2015“,{”模块“:false }]})

但是输出还是一样的..。

EN

回答 3

Stack Overflow用户

发布于 2017-05-09 17:10:14

使用ignore选项可以避免传递第三方代码。transform-remove-strict-mode插件不能工作,因为已经太晚了。

票数 1
EN

Stack Overflow用户

发布于 2017-05-09 14:31:46

试着用残缺不全的方法来吞咽。

代码语言:javascript
复制
uglify({ mangle: false })
票数 0
EN

Stack Overflow用户

发布于 2017-12-07 17:10:52

也许为时已晚,但你可以试着这样做:

代码语言:javascript
复制
gulp.task('foo_task', () => {

gulp.src('foo/src/path')

    .pipe(concat('foo_file.js')
    .pipe(babel({ presets: ['env'] }))
    .pipe(uglify())
    .pipe(gulp.dest('foo/dist/path'))

    .pipe(concat([ '/dist/path', 'foo/src/path' ]))
    .pipe(uglify())
    .pipe(gulp.dest('foo/dist/path'))

});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43871669

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档