1

私は奇妙な問題に直面しています。それは確かに難しいことではありませんが、それを引き起こしている原因を見つけることができないようです。Capistranoを介してアプリをデプロイした後、次を使用して、すべてのcssをyuiコンプレッサーに渡します。

 run "find #{current_path}/public/static/css/ -name '*.css' -print0 | xargs -0 -I file #{cmd} file -o file"

ざっと見て回ったところ、いくつかのテストで、JavaScriptの圧縮にノードのuglify-jsを使用することにしました。そこで、単純なものを選びました。

uglify_bin = "uglifyjs"
run "find #{current_path}/public/static/js/ -type f -name '*.js' -print0 | xargs -0 #{uglify_bin}"

同じレシピで。デプロイはうまくいくようですが、私のjsファイルを簡単に調べると、uglifyjsがその仕事をしていなかったことがわかります。

これがコンソール出力の抜粋です:

  * executing "find /home/USER/www/project/current/public/static/js/ -type f -name '*.js'| xargs uglifyjs --overwrite"
servers: ["project.com"]
[project.com] executing command
command finished in 127ms

私はどこで完全な馬鹿になっていますか(はい、それは言葉です...)?ありがとう。

4

2 に答える 2

2

ついに問題が何であるかを見つけました。これが最終的に機能するコード行です:

run "find #{current_path}/public/static/js/ -name '*.js'| xargs -I file #{uglify_path} --overwrite file"

明らかに、-overwriteオプションはそうではなかったはずです...

于 2011-07-31T16:50:51.113 に答える
0

uglifyjsドキュメントから:

--overwrite —コードが(STDINからではなく)ファイルから読み取られ、-overwriteを渡すと、出力は同じファイルに書き込まれます。

したがって、おそらく次のようなものです。

uglify_bin = "uglifyjs"
run "find #{current_path}/public/static/js/ -type f -name '*.js' -print0 | xargs -0 #{uglify_bin} --overwrite"

動作します。

于 2011-07-31T15:43:40.320 に答える