问题标签 [grunt-contrib-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.
gruntjs - Grunt Uglify 源地图“无法写入”
我正在使用 Grunt 连接和缩小文件(使用 grunt-contrib-uglify 和 grunt-contrib-concat )并且我想添加一个源映射。uglify 文档说只需为 sourceMap 添加一个选项,设置为 true 布尔值。但是当我将它添加到我的任务中(我尝试了几个不同的任务)时,进程运行良好,直到它到达源映射部分,然后我得到:
写真实...错误
警告:无法写入“真实”文件(错误代码:未定义)。使用 --force 继续。
连接完成,缩小完成。但是......源图没有运气。
我的 Grunt 文件中的示例:
(我也尝试过在我的顶级选项对象中使用 sourceMap。)
有任何想法吗?显然 Grunt 可以写入目录,因为它创建了连接和缩小的文件,我想不出还有什么问题。
node.js - grunt uglify 在父目录中找不到我的文件
与我编写的所有其他节点项目不同,这个项目需要节点服务器的文件夹不是根目录。这是当前文件夹层次结构:
GruntFile.js
, package.json
, 和server.js
都位于nodeserver/
这是我的 GruntFile:
当我运行 grunt 时,它找不到我指定的文件。这是回应:
为什么看不到我的js文件?
gruntjs - Grunt uglify 找不到文件
我有以下目录结构:
我正在尝试获取 development/js/pages 中的所有文件并将它们输出为 js/pages 并使用 grunt uglify 缩小它们,但仍保留单独的文件 - 我不想将所有文件组合在一起。我尝试了以下方法:
但这给了我一个错误:无法写入 js/page 文件
然后我尝试了这个,它在 uglify 文档中:
但这只是给我在 development/js/pages 中的每个文件这个错误:
找不到源文件“filename.js”
然后另一个错误说Destination (js/page) notwritten 因为源文件是空的。
任何想法为什么?
javascript - 覆盖 Grunt 中的特定文件
我有三个项目: Proj A,其中包含一个基本设置,其中包含要在许多不同项目中重复使用的文件,不可编辑。还有 Proj B 和 C,它使用 Proj A 中的文件作为其基础。每个项目都有自己的 Gruntfile。
我想在 Proj B 和 C 中自定义一些 JS 和 SCSS 文件(例如更改颜色/变量)。但是要知道 Proj A 可能会不时更新,因此我无法编辑任何这些基本文件,因为在将最新更改拉入 B 和 C 时它们会被覆盖。因此,我必须创建应该覆盖的自定义文件来自 Proj A 的文件。
1)
一种方法是复制我要编辑的文件,然后简单地将“覆盖”添加到它的文件名中:
ui/styles/sass/ _override_colors.scss *(应该覆盖 ui/styles/sass/_colors.scss)* ui/scripts/ _override_base.js (应该覆盖 ui/scripts/base.js)
那么问题是:如何在我的 Gruntfile 中指定此规则,“如果存在以 '_override' 开头的任何文件,则应覆盖其等效文件”。但是,如果我复制的文件很大,这可能不是可选的,因为这意味着两个非常相似的大文件。
2)
另一种方法可能是添加一个名为 _overrides.scss 的新文件,并将其添加到我的 @import 文件的最后。但是,如果我要更改很多东西,那将是一个坏主意,因为它可能过于混乱和庞大,并且还意味着重复代码(除非我只覆盖变量而没有类)。
你会采用哪种方法?有没有其他更好的方法来解决这个问题?
谢谢!
javascript - Grunt Uglify 获得节省的空间总和
我已经 grunt-contrib-uglify 为我缩小了一堆 js 文件,并且认为如果它可以总结缩小前后文件大小的差异,那将是非常整洁的。有没有办法做到这一点?
谢谢!
javascript - Grunt Uglify 一些脚本
我想从我的 angularjs 项目中丑化一些细节 js。我不想丑化 al js 路径。
我试过这个
和这个
而不是运气。
如果有人可以帮助我,我非常感谢您的帮助。
谢谢。
javascript - grunt 的文件列表解析器
我grunt-contrib-uglify
用来构建我的asmcrypto.js项目。它的结构正确并拆分为单独的组件,每个组件位于自己的文件夹中。
现在我想给用户一个选项来选择要包含到生成的缩小文件中的组件。组件可能依赖于其他组件,它们应该被自动解析。
我想最终的解决方案应该类似于grunt with:aes-cbc with:hmac-sha256
暗示依赖关系也是内置的。
从我的角度来看,它应该是一个能够遍历依赖树并返回组合源文件列表的 grunt 插件,该列表可以传递给grunt-contrib-uglify
.
尝试几个小时:
grunt-feature
grunt-component-build
grunt-resolve
没有人能做到我所描述的,或者我没有从文档中找到合适的方法。
gruntjs - grunt-contrib-uglify 输出为空
我整天都在这里寻找答案,我确信这只是我的配置搞砸了。
简短版本:我已经配置了 grunt。grunt-contrib-concat 工作。grunt-contrib-uglify 说它可以工作,但输出一个空文件。
长版:项目结构为:
我想获取 foo.js 和 bar.js 并将它们输出到 /dist/js 目录中名为“app.js”的文件中。
这是我的配置:
是的,Grunt 安装在我的 DEV 目录中。
当我跑
我得到以下控制台输出:
最后,它确实最终创建了文件 /projectRoot/prod/js/app.min.js
...但它是空的。
关于我做错了什么的任何想法?此语法完全遵循自述文件和我能找到的任何其他文档中的内容。concat 任务运行良好。
任何帮助,将不胜感激。谢谢!
--EDIT-- 我更新了 Grunt,使其位于 projectRoot 中,但输出没有区别。
===============
更新
我找到了它输出空文件的原因。显然,自调用匿名函数被“缩小”了,或者至少在这种情况下它们是。这可能是因为这里没有活动代码。我将进一步研究这一点。我假设实际做事的函数,引用全局变量等将保留。
===============
最后更新
问题解决了。即使有缩小所有代码的选项,它仍然会删除任何未引用的变量等。我的测试文件中的东西没有使用。如果我添加对所述功能的引用,那么它们就会出现。
希望这可以帮助某人。
javascript - 在 Grunt 上的 uglifyjs 任务期间有条件地删除 DEBUG
我想在构建时删除我的 DEBUG 语句,我注意到在 http://lisperator.net/uglifyjs/compress我可以定义global_defs: { DEBUG : false }
删除包含在调试子句中的任何内容if (DEBUG) {}
我的 uglify 任务似乎没有删除任何 DEBUG 部分,对我做错了什么有任何想法吗?
我正在使用 grunt-contrib-uglify v0.3.3
这是我的繁重任务: ...
一些文件.js
javascript - Grunt-uglify 递归
我有一组带有一些 *.dev.js 文件的子文件夹。我需要 grunt 对目录树中的每个 .dev.js 文件进行 uglify 并在源文件旁边创建 uglified 文件。这是我尝试这样做的方法:
但这给出了一个错误:
运行“uglify:dist”(uglify) 任务文件 src 创建:13.49 kB → 5.62 kB
目标分机未写入,因为 src 文件为空。警告:对象 true 没有方法 'indexOf' 使用 --force 继续。