UglifyJS内联脚本而不是文件名

时间:2014-10-02 05:30:14

标签: javascript uglifyjs

我想知道如何从命令行使用UglifyJS压缩内联脚本。

所有地方的例子都显示文件名,即

uglifyjs somefile.js -o somefile.min.js

我想做的是:

uglifyjs -option "function hello(){ var world='world'; alert(world) }"

我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:2)

使用所谓的“heredocs”或“herestrings”(参见http://en.wikipedia.org/wiki/Here_document)。这种技术适用于任何以文件作为参数的程序(在这种情况下,shell将字符串传递给stdin)。应该适用于大多数shell /操作系统。

作为一个herestring:

uglifyjs <<<"function hello(){ var world='world'; alert(world) }"

或者,作为heredoc:

uglifyjs <<_END_
function hello() {
  var world='world';
  alert(world)
}
_END_

答案 1 :(得分:1)

您始终可以使用临时文件:

echo "function hello(){ var world='world'; alert(world) }" > tmp.js; uglifyjs tmp.js -o tmp.min.js; cat tmp.min.js; rm -f tmp.js tmp.out.js