14

Googleは、JavaScript を縮小するコンパイラであるClosureをリリースしました。

製品サイトでは、「Closure Compiler は Page Speed にも統合されました」と記載されています。

Page Speed を使用して Web ページの JavaScript を Closure でコンパイルするにはどうすればよいですか?

(または、単に JavaScript を貼り付けてクロージャを縮小できる Web サイトはありますか?

4

6 に答える 6

10

単一のファイルの場合、それは簡単です

java -jar $path_to_jar/compiler.jar --js input_file.js \
          --js_output_file output_file.js

マルチファイルプロジェクトの場合calcdeps.pycompiler.jar

#!/bin/sh$
$CALCDEPS_PATH=/path/to_calcdeps  #directory containing calcdeps.py
$JAR_PATH=/path/to_jar            #directory containing compiler.jar
$CLOSURE_PATH=/path/to_closure    #contains directory "closure"
$CALCDEPS_PATH/calcdeps.py --path $CLOSURE_PATH \
                           --path . \
                           --compiler_jar $JAR_PATH/compiler.jar \
                           --input main_project_file.js \
                           --output_mode compiled \
                           > compiled_project_file.js

このようにして、コンパイラーはタイプエラーなどに関する意味のある情報を提供します。タイプ情報に特定のコメントcompiler.jarを使用するため、コンパイル時にタイプエラーをキャッチできます。JSDoc

追加のコンパイラフラグは、またはオプションcalcdeps.pyとともに渡すことができます-f--compiler_flags

高度な最適化セットを使用する場合

--compiler_flags "--compilation_level=ADVANCED_OPTIMIZATIONS"

二重引用符と等号に注意してください-bashでその形式を使用する必要がありました

于 2010-03-02T21:45:13.730 に答える
1

Closure コンパイラが JavaScript アプリケーションとして利用できるようになりました。Java依存関係はもう必要ありません

統合するにはいくつかの方法があります。私はロールアップの一部としてそれを行いました

元:

import rollup from 'rollup';
import closure from 'rollup-plugin-closure-compiler-js';

export default {
  entry: 'index.js',
  dest: 'dist/build.js',
  format: 'iife',
  plugins: [
    closure({
      languageIn: 'ECMASCRIPT6',
      languageOut: 'ECMASCRIPT5',
      compilationLevel: 'ADVANCED',
      warningLevel: 'VERBOSE',
      externs: [{src:`
                      var jQuery;
                      jQuery.fadeIn = function() {};  

                      var ko;  
                      ko.applyBindings = function(vm) {};
                      ko.computed = function(a,b) {};
                      ko.observable = function(a) {};
               `}],
    })
  ]
}

詳細はこちら:

http://www.syntaxsuccess.com/viewarticle/using-the-closure-compiler---advanced_optimizations

于 2016-12-03T05:59:49.110 に答える
0

ClosureCompilerはWindows専用のPageSpeedと統合されているようです。

于 2010-04-13T16:02:20.080 に答える
0

PHP でクロージャ コンパイラを使用する (CURL を介してホストされるか、コマンド ライン ツールを介してローカルで)

http://bohuco.net/blog/2009/11/google-closure-compiler-with-php/

于 2010-09-13T12:44:25.193 に答える
0

「Page Speed 1.4 Beta は、Closure Compiler を統合して JavaScript ファイルを自動的に縮小します。ただし、Page Speed Beta と Closure Compiler を個別にダウンロードしてインストールする必要があります。」

http://code.google.com/speed/page-speed/download.html

このバージョンはまだインストールしていませんが、Page Speed が最適化の推奨事項でコンパイルされたコードを提示することは間違いありません。

于 2009-12-07T17:08:14.507 に答える
0

複数の js ファイルをコンパイルする必要がある場合、またはコンパイル プロセスを簡素化したい場合は、kjscompiler を使用できます: https://github.com/knyga/kjscompiler (Google クロージャ コンパイラに基づく)

于 2014-03-07T10:29:38.020 に答える