问题标签 [gulp-uglify]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
685 浏览

gulp - gulp-uglify 似乎在期待 Vinyl,但得到的是 Buffer

对于类似问题,我已经看到了很多不同的答案,并且我已经尝试了很多。我试过使用 gulp-streamify 和vinyl-buffer,我试过不用任何东西就使用它,但无论我做什么,只要我将它包含在我的 gulp 管道中,我都会遇到 Uglify 错误。

以下是我的代码中最相关的片段。

但是运行此管道会返回以下错误:

使用 node-debug 来触发 gulp 似乎 gulp 正在传递一个 Buffer 对象,而不是一个 Vinyl 文件到 Uglify。我欢迎任何可以尝试诊断此问题的输入或方法。

我正在使用节点 v4.1.2 和 gulp v3.9.0。据我所知,这些是最新版本。我想知道有什么改变吗?

我也将此问题发布到 IRC,并希望快速解决。

0 投票
0 回答
193 浏览

performance - 性能好坏:丑化(缩小).min 文件?

丑化 .min 文件有什么好处或坏处吗?

使用Gulp例如,包括jquery.min.js在您的uglify task将使您的输出脚本在性能方面更好或更差

我们最好jquery.js在任务中运行吗?

0 投票
2 回答
255 浏览

javascript - 奇怪的 Reactjs setState 行为

我对 Reactjs 的 setState 函数有一个非常奇怪的问题。它似乎希望我以一种非常具体的方式来构建我的代码片段,否则它将无法工作。我不知道为什么这会导致问题,因为这两种结构对我来说看起来相同,但行为方式不同。

我正在使用 Browserify 和 Babelify 转译和 gulp-uglify 来缩小我的代码。可能是这些构建步骤中的一个或组合导致了问题,但我不知道是哪个(因此我也不知道是否以及在哪里提交问题)

这是我的代码的相关部分:

如您所见,setState 块的格式如下:

像这样 addVideo 方法会导致错误:Uncaught TypeError: t.playlist.push is not a function

如果我将块更改为这样:

addVideo 方法有效,但 onEnd 方法停止工作(不会导致错误,它只是不更新​​状态)

我不明白为什么这些不能以相同的方式工作......出于格式化目的,我希望它们都具有相同的样式,但似乎它们仅在以任何一种样式格式化时才有效。

0 投票
2 回答
3579 浏览

reactjs - gulp 构建时出现奇怪的 gulp-uglify minifier 'file.isNull()' 错误

我正在构建一个相对简单的项目来学习 React w/Flux。我正在使用(或尝试使用)Gulp 创建一个带有 Browserify、Reactify、Streamify 和 Uglify 的自动构建,所有这些都通过 npm 安装。整个流程正常工作,我做了一些文件更改,重新构建,现在当我运行构建时它出现错误。即使在还原更改并返回到原来的、以前的工作状态之后。我怀疑某处可能发生了权限更改,但我自己没有这样做,所以我不确定如何进一步诊断(不确定是否存在问题)。

我应该补充一点,起初我怀疑乙烯基流错误是问题所在,但我将.pipe(buffer())and添加vinyl-buffer到构建流程中,但它并没有改变错误。

这是吞咽:

这是错误:

欢迎任何想法 - 谢谢。

0 投票
2 回答
385 浏览

javascript - 如何防止 Uglify 逃逸"

我有这样的代码:

var string = '<script src="' + src + '">\x3c/script>';

我使用\x3c而不是<避免有一个结束脚本标记(如果在网络浏览器中用作内联脚本,这会提前结束脚本,破坏一切)。

但不幸的是,uglify 将其转换回

我有这样的代码:

我使用\x3c而不是<避免有一个结束脚本标记(如果在网络浏览器中用作内联脚本,这会提前结束脚本,破坏一切)。

但不幸的是,uglify 将其转换回<字符,破坏了我的页面。

看起来 Uglify 有一个名为inline-scripts旨在解决此问题的选项,但没有关于在 API 中使用此选项的文档(我通过gulp-uglify使用它,因此我需要能够在选项对象中传递此选项,不是通过 CLI)。

我该怎么做?以下都不起作用:

  • {'inline-script': true}
  • {inlineScript: true}
  • {beautify: {inlineScript: true}}
  • {beautify: {'inline-script': true}}

Viewpager 拦截小吃店解雇

范围

我有一个包含 ViewPager 的片段。viewpager 的每个页面都包含一个项目片段。当我对项目片段执行操作时,我会在项目片段中显示一个快餐栏。小吃栏是项目片段的一部分(CoordinatorLayout 是项目片段布局的一部分)。

问题

我面临的问题是我不允许关闭snackbar,因为viewpager 拦截了滑动事件并更改页面而不是让snackbar 被关闭。

问题

我希望viewpager不要拦截对snackbar的触摸,但仍然拦截对项目片段其余部分的触摸(当不在snackbar上滑动时,用户应该仍然能够滑动以更改页面)。有谁知道这样做的方法?

我创建了一个示例应用程序来演示该问题。它可在https://github.com/gfrederick/ViewPagerSnackbar获得

0 投票
0 回答
638 浏览

git - Gulp、Git、Windows:gulp-concat 和 gulp-uglify 导致编译后的文件在 git 中显示为已修改,即使它不应该是

我的总体问题是,如果预编译的文件完全相同,如何防止连接和缩小的文件不同。

我已经设置 gulp 以使用 gulp-concat 和 gulp-uglify 来连接和缩小我的 JavaScript 文件。它工作得很好,除了每次编译时 git 都会给我以下警告:

Git 还显示此文件已更改,即使它应该没有更改。

这是我正在使用的 gulp 任务:

我得到同样的问题是我添加{newLine:'\r\n'}到第二个参数 concat 函数。我还尝试了以下方法(在其他几个帖子中找到){newLine:'\n'}{newLine:'\n;'}但都没有奏效。

顺便说一句,我正在电脑上开发。

0 投票
1 回答
651 浏览

javascript - 如何使用 browserify 捆绑非缩小和缩小的 js 文件

我得到了一个缩小的捆绑文件,我想在同一个 dist 中得到一个非缩小的捆绑。

gulpfile.js

0 投票
1 回答
1232 浏览

javascript - 让 gulp-uglify 中的示例正常工作

我从来没有使用过gulp。我正在尝试 gulp-uglify 示例。

https://www.npmjs.com/package/gulp-uglify

该示例不起作用。在哪里gulp.task声明?里面的代码gulp.task是做什么的?压缩lib文件夹中的所有.js文件后会创建一个文件dist吗?如何修改代码示例以使其正常工作?

0 投票
2 回答
3110 浏览

npm - 使用 Gulp 时捕获和处理 Uglify 错误

我的 Gulp 设置在其他方面工作得非常好,但如果我的 JS 文件出现错误,它就会停止。在 Gulp 4 最终发布之前,我们都被 Gulp 中不那么完美的错误系统所困……那么我怎样才能捕捉到 Uglify 的错误呢?

根据Uglify 文档gulp-uglify如果无法缩小特定文件,则会发出“错误”事件。只要有可能,该PluginError对象将包含以下属性:fileNamelineNumbermessage

我最接近工作的是:.on('error', function(uglify) { console.error(uglify.message) })),但它最终导致上述 Gulp 任务不再执行。

编辑:我意识到有许多 Gulp 扩展在处理错误处理时会有所帮助(例如Gulp-UtilStream-Combiner2Gulp-Plumber等),但我不希望安装一个全新的扩展Uglify(没有一个我处理我的 Sass 错误就好了)。

0 投票
1 回答
743 浏览

gulp - 如何使用 Gulp 将不同的 js 与不同的 js 集连接起来,然后通过管道将 minify/uglify 传输到不同的包?

我想用 Gulp 归档的是:

  1. 例如我目前正在编辑editing.js
  2. 如果它已被更改/保存,则取出base1.js, base2.js, base3.jsout,将它们与 myediting.js顺序连接,如base1.js, base2.js, base3.js,editing.js
  3. 缩小和丑化它们
  4. 最后用'editing.min.js'之类的扩展名重命名这个文件。

    /li>

在我的情况下,我有多个源文件要连接到多个捆绑文件。

我未能存档的是重命名为我当前正在编辑的文件名,例如ex1.jsex1.min.js它总是捆绑到一个唯一的文件中。

Gulp 新手,希望对您有所帮助,谢谢!!