2009-11-07 44 views
13

Google vừa phát hành Closure, trình biên dịch để rút gọn JavaScript.Cách sử dụng Đóng cửa của Google để biên dịch JavaScript

Trên trang web sản phẩm, nó nói "Trình biên dịch đóng cửa cũng đã được tích hợp với Tốc độ trang".

Làm cách nào để sử dụng Tốc độ trang để biên dịch các trang web của tôi JavaScript có Đóng cửa?

(Hoặc là có một trang web mà tôi chỉ có thể dán trong JavaScript của tôi để có đóng cửa giảm bớt nó?

+0

hey @Ted, tôi muốn mở rộng câu hỏi bao gồm "làm thế nào để biên dịch javascript "trên một dòng lệnh cũng. – Evgeny

+0

Google rất tuyệt vì chúng thường cung cấp hướng dẫn và hướng dẫn về phần mềm "nhà phát triển" của họ. Đóng cửa cũng không ngoại lệ. Bắt đầu [tại đây] (http://code.google.com/closure/) và theo các liên kết đến công cụ mà bạn muốn tìm hiểu. Sau đó, chỉ cần đọc và làm theo. Họ có rất nhiều thông tin về từng công cụ. Thưởng thức! – JasCav

Trả lời

0

"Page Speed ​​1.4 Beta tích hợp Closure Compiler để rút gọn tập tin JavaScript tự động. Tuy nhiên, bạn sẽ cần để tải về và cài đặt bản Beta Page Speed ​​và Closure Compiler riêng rẽ."

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

tôi đã không được cài đặt phiên bản này chưa, nhưng tôi khá chắc chắn rằng Page Speed ​​sẽ giới thiệu bạn với mã biên soạn trong tối ưu hóa của nó đề xuất

10

Đối với một tập tin duy nhất đó là đơn giản

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

Đối với một dự án đa tập tin mà bạn có thể sử dụng calcdeps.py kết hợp với trình biên dịch compiler.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 

Bằng cách đó cung cấp thông tin có ý nghĩa về lỗi loại vv Lỗi loại có thể bị phát hiện tại thời gian biên dịch vì compiler.jar sử dụng certain JSDoc comments để biết thông tin loại.

biên dịch cờ tắm có thể được truyền cho calcdeps.py cùng với -f hoặc --compiler_flags tùy chọn

Nếu bạn muốn sử dụng tối ưu hóa tiên tiến thiết

--compiler_flags "--compilation_level=ADVANCED_OPTIMIZATIONS"

thông báo các dấu ngoặc kép và dấu bằng - phải sử dụng định dạng đó trong bash

0

Dường như Trình biên dịch đóng cửa được tích hợp với Tốc độ trang only for Windows.

0

Nếu bạn cần phải biên dịch nhiều file js hoặc nếu bạn muốn đơn giản hóa quá trình biên dịch, bạn có thể sử dụng kjscompiler: https://github.com/knyga/kjscompiler (dựa trên trình biên dịch đóng google)

1

Trình biên dịch đóng cửa hiện có sẵn dưới dạng ứng dụng JavaScript. Không cần phụ thuộc Java nữa

Có một số cách để tích hợp với nó.Tôi đã thực hiện nó như một phần của Rollup

ví dụ:

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) {}; 
       `}], 
    }) 
    ] 
} 

Thông tin thêm ở đây:

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

Các vấn đề liên quan