我在IntelliJ IDEA中设置了一个UglifyJS文件监视器,它在我编辑时工作得很好-我修改源js,缩小版本会自动创建在它旁边。
但是,当我运行Ant构建时,它将最小化版本复制到构建工作目录中,监视程序"帮助"在构建工作目录中创建它们的双重最小化版本(*.min.min.js),而不是ok。
我已经将监视器的范围设置为'src'模块,但显然这并不像你想象的那样,因为当Ant将文件复制到'build'模块时,会创建double。当我使用IDEA手动从src复制单个文件到构建时也会发生。
我不知道如何设置这个包含*.js,但排除*.min.js,这真的是正确的事情。(Uglify应该内置这个功能,这似乎很合理,但据我所知,它没有。)
除了摆脱观察者和脚本构建做缩小,或只复制原来的js版本,让观察者(重新)创建缩小的,什么是最好的方式去这里?
多亏了IDEA论坛上的一位有帮助的评论者,我才得以工作。关键是设置一个自定义作用域,我之前尝试过,但失败了。
我最终的模式是这样的,对于任何有类似需求的人:
file[src]:*.js&&!file:*min.js*
使'src'模块当前,然后打开dlg并从主监视器配置窗口的下拉菜单中选择它,显然实际上并没有过滤该模块。点击…btn,然后从打开的dlg中选择它,另外我还添加了一个显式的文件名模式来排除已经缩小的文件。
现在工作得很好,就我所测试的(一个最小的Ant测试和手动复制一个文件到IDEA中"构建")。
这是一个老问题,也许当时守望者还没有这个功能。
使用JetBrains 'macro'代码使'min.min.min.js'问题消失。
$FileNameWithoutAllExtensions$.js -m --source-map -o $ContentRoot$prodjs$FileNameWithoutAllExtensions$.min.js
我也总是将'Scope'设置为'Current File';为什么要在未修改的文件上运行丑文件?(我假设任何第三方JS库都已经最小化了)。