- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 gulp babel 来编译 es6,但 uglify 似乎完全剥离了我的 es6。运行时,我的命令行中没有收到任何错误。有什么想法为什么会被删除吗?
我的 gulp 任务如下所示:
gulp.task('scripts', function () {
return gulp.src('src/js/*.js')
.pipe(sourcemaps.init())
.pipe(babel())
.pipe(uglify())
.pipe(sourcemaps.write('./'))
.pipe(gulp.dest('dist/js'));
});
我的 JavaScript:
document.addEventListener('DOMContentLoaded', function (event) {
console.log('ready to es6!');
const foo = 4;
});
输出、编译/丑化的 javascript:
"use strict";document.addEventListener("DOMContentLoaded",function(e){console.log("ready to es6!")});
//# sourceMappingURL=scripts.js.map
请注意,const foo = 4
被遗漏了。删除 .pipe(babel())
会导致 const
得到正确编译。
如果有帮助,devDependencies:
"devDependencies": {
"@babel/core": "^7.2.2",
"@babel/preset-env": "^7.2.3",
"browser-sync": "^2.26.3",
"gulp": "^3.9.1",
"gulp-babel": "^8.0.0-beta.2",
"gulp-sass": "^4.0.2",
"gulp-sourcemaps": "^2.6.4",
"gulp-uglify": "^3.0.1",
"node-sass": "^4.11.0"
}
最佳答案
UglifyJS(gulp-uglify 的依赖项)有一个压缩选项,默认情况下会删除未使用的变量。由于您从未引用 foo
,因此它会从压缩源中删除。
来自UglifyJS2 docs :
Compress options:
unused (default: true)
-- drop unreferenced functions and variables (simple direct variable assignments do not count as references unless set to"keep_assign"
)
由于 const foo = 4
是一个简单的直接变量赋值,因此它不会出现在压缩代码中。您可以假设您不需要未使用的代码或调整您的 gulp 文件:
gulp.task('scripts', function () {
return gulp.src('src/js/*.js')
.pipe(sourcemaps.init())
.pipe(babel())
.pipe(uglify({
compress: {
unused: false
}
}))
.pipe(sourcemaps.write('./'))
.pipe(gulp.dest('dist/js'));
});
关于javascript - 防止 gulp uglify 剥离 es6,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54119790/
使用 webpack 4 我已部署到生产环境,其中一个页面在控制台中显示错误: Error: [$injector:unpr] http://errors.angularjs.org/1.6.10/$
当运行 RAILS_ENV=production rake assets:precompile 时,我得到一个关于 Uglifier 的错误,如下所示: root@4d24cd4a5e73:/myap
我的 Gruntfile.js 中有以下配置:问题是,当某些文件被更改时,'uglify' 任务对所有文件照常执行。我做错了什么? module.exports = function(grunt) {
我对 npm 安装过程感到困惑。据我了解,在安装模块时有一些不同的选择: -g 全局存储模块的选项 --保存开发 没有争论。 谁能解释一下区别是什么?具体来说,当我执行 -g(全局)和另一个本地安装时
我有一个丑化的JS文件,我想在其中获取美化版本,然后再次用grunt对其进行丑化。我希望它与第一个丑化文件相同。 但是当我这样做时,带有“if”的部分是不同的。 这是丑化文件的一部分: ...func
您好,我正在为我工作的公司制作一个主题,JS 部分无法在 uglify 中正确构建。我正在尝试使用 uglify 来简单地连接我的文件,这可以工作,但它们输出缩小和损坏,没有注释,我不明白为什么,
我知道我可以设置已经用 uglifyjs 美化的 javascript 的缩进级别,但是是否可以让它使用制表符而不是空格? 如果不行,有没有类似的工具可以?或者任何补丁版本? 最佳答案 在Uglify
我正在使用 uglify 来缩小我的 javascript 文件,但我遇到了一个错误:当我尝试对一个以变量作为键的文件进行 uglify 时,它会抛出以下错误:意外的 token :名称。第 9 行。
我正在逐步创建嵌套对象。原来的代码可以工作,但是丑化后的代码不行。 工作原始代码 function(type, id, fieldName) { if (!this.model.proposed_
uglify-js和uglify-es的描述是相同的,除了uglify-es大写“for ES6 +”。基于此,人们会认为uglify-es是ES6代码的最佳选择。另一方面,uglify-es较旧-5
当我运行 webpack uglify 插件时,我从 stylus loader/css-loader 收到了很多警告。我该如何解决它们? webpack 成功捆绑了它。 Condition a
我需要根据需要更改我的 uglify 任务的配置,仅用于缩小文件(如 jshint 任务的解释:https://github.com/gruntjs/grunt-contrib-watch#compi
我正在使用 Grunt 迈出第一步,但是在尝试缩小 JS 文件时遇到以下错误: "Task "default" not found" 我检查过以前的类似答案,但无济于事。 Gruntfile 代码如下
我是 Grunt 和 grunt-contrib-uglify 的新手。我创建了一个测试 JavaScript 文件: function global(window) { window.test
我正在尝试使用gulp-uglify压缩我的项目,但是每当遇到箭头函数时,gulp似乎都会抛出错误Unexpected token: punc ()代码。我能做些什么来解决这个问题吗?谢谢。 gulp
我正在使用 uglifyjs 来缩小 js 文件,但是当我运行该工具时,它会缩小我传递的文件名而不是内容。 var resultugly = UglifyJS.minify(['app_client/
当我使用gulp-uglify时为了缩小 Javascript 文件,顺序变得困惑。 假设我的任务按预期工作: var gulp = require('gulp'); var rename = req
我在 HTML/JS/CSS 网站上工作,我使用 Gulp 作为自动化工具。 在运行 gulp serve 时它工作得很好,但在运行 gulp build 时我收到以下错误: [18:24:52] U
我想获取项目中的所有 .js 文件,并为每个文件在同一目录中保存一个缩小版本。 也就是说,给定这个项目目录结构: project/ gulpfile.js basic.js P
我正在使用 grunt uglify,它似乎并没有处理变量名。我的“上帝”对象称为“Porsche”,它使它及其所有功能保持可读性,如您在此处看到的那样: 这是我的 Gruntfile 配置: ugl
我是一名优秀的程序员,十分优秀!