PhpStorm 在 1 中缩小多个 JavaScript 个文件

PhpStorm minify multiple JavaScript files in 1

我想使用 PhpStorm 的文件观察器缩小我的 JavaScript 文件,但我无法让它按照我希望的方式工作。

我已经安装了uglify-js。在文件观察器中,我尝试了以下操作:

Arguments: $FileName$ -o $FileDir$.min.js --style compressed
Output paths to refresh: $FileDir$.min.js

问题是每次只有 1 个文件被缩小,而不是全部缩小。

另一个问题是我想输出源映射,但我不知道该怎么做,也不知道将它放在哪里(参数或输出路径)。

我希望有人能帮助我进行这些设置。

关于文件观察器的几点说明:

  • 文件观察器主要设计用于在保存时对文件执行一些外部操作。
  • 每个修改的文件都会调用文件观察器。
  • 如果您想使用 File Watcher 一次处理多个文件(例如:将 2 个以上的文件合并为 1 个文件),那么您需要对所有参与的文件进行硬编码(而不是使用当前文件宏 $FileName$),当然,除非 uglify 支持文件掩码(例如 /path/to/folder/*.js)。
  • 如果您修改目标列表中的 2 个文件,则会为每个文件调用 File Watcher,因此即使使用硬编码文件名,它也会执行两次(同样的工作完成两次)。

考虑到上述情况我建议改用 Grunt 或 Gulp 任务——它们更适合此类要求。

P.S. 如果你希望你可以在 File Watcher 中实际使用这样的 grunt/gulp 任务(与在 terminal/console 中手动调用它相同)但是由于上面的第 3 点,更好的解决方案是使用 Grunt's/Gulp的 watch module/functionality 如果你需要自动执行任务。