Footer

Logo

Resources

  • Rust Tiếng Việt
  • /archives
  • /series
  • /tags
  • Status

me@duyet.net

  • About
  • LinkedIn
  • Resume
  • Projects

© 2026 duyet.net | Sr. Data Engineer | 2026-03-20

LogoDuyệtSr. Data Engineer
HomeAboutPhotosInsightsCV

Tối ưu hóa Javascript với Google Closure Compiler

Note: This post is over 10 years old. The information may be outdated.

Closure Compiler là 1 dự án của Google giúp Javascript tải và chạy nhanh hơn. Không phải là biên dịch từ Javascript sang mã máy, mà Closure biên dịch từ Javascript sang better-Javascript. Tức là tự động viết lại Javascript sao cho tối ưu hóa nhất mà kết quả không thay đổi.

Closure sẽ đọc Javascript, thống kê, loại bỏ dead code, kiểm tra các biến và mối quan hệ giữa chúng, kiểu dữ liệu có hợp lý hay không, viết lại (rewrite) và nén sao cho tối ưu nhất có thể.

Closure được triển khai sử dụng ở các dạng:

  • Công cụ dòng lệnh command line (Java)
  • Tools online, paste code vào và xuất ngay kết quả: https://closure-compiler.appspot.com/home
  • A RESTful API.
  • Build Systems: Plugin cho Webpack hoặc Gulp

Giao diện Web service

closure-compiler-js

closure-compiler-js là project sử dụng được closure-compiler (Java) trên Javascript. Cài đặt closure-compiler-js qua npm

npm install --save google-closure-compiler-js

Mặc định Closure hỗ trợ chuyển ES6 sang ES5 và tối ưu hóa code

const compile = require('google-closure-compiler-js').compile

const flags = {
  jsCode: [{ src: 'const x = 1 + 2;' }],
}
const out = compile(flags)
console.info(out.compiledCode) // will print 'var x = 3;\n'

Webpack

Cấu hình webpack như bên dưới:

const ClosureCompiler = require('google-closure-compiler-js').webpack
const path = require('path')

module.exports = {
  entry: [path.join(__dirname, 'app.js')],
  output: {
    path: path.join(__dirname, 'dist'),
    filename: 'app.min.js',
  },
  plugins: [
    new ClosureCompiler({
      options: {
        languageIn: 'ECMASCRIPT6',
        languageOut: 'ECMASCRIPT5',
        compilationLevel: 'ADVANCED',
        warningLevel: 'VERBOSE',
      },
    }),
  ],
}

Tham khảo

Còn khá nhiều chức năng và tham số như angularPass, polymerPass, rewritePolyfills, ...

  • Closure Compiler - https://developers.google.com/closure/compiler/
  • Work through the Application Hello World.
  • Closure Source Code - https://github.com/google/closure-compiler
  • Closure Compiler JS - https://github.com/google/closure-compiler-js
Sep 14, 2016·10 years ago
|
8 min read
|News|
JavascriptNode.js
|Edit|

Related Posts

Grunt - lỗi ENOSPC

Trường hợp lỗi trên Grunt khi listen file change để restart server.

Apr 8, 2016·10 years ago
Read more

How one developer just broke Node, Babel and thousands of projects in 11 lines of JavaScript

Một lập trình viên vừa gây lỗi hàng loạt cho Node, Babel và hàng nghìn projects khác. Chỉ với 11 dòng Javascript.

Mar 26, 2016·10 years ago
Read more

Resting và Spreading JavaScript Objects

Resting và spreading càng ngày được ưa chuộng vì sự tiện lợi của nó, sau đây là 7 tricks với JavaScript objects.

Mar 27, 2019·7 years ago
Read more

Signale - Hackable console logger for Nodejs

Signale là một thư viện thay thế console logger trong Nodejs, cho kết quả đẹp, sexy hơn và nhiều chức năng.

Jul 19, 2018·8 years ago
Read more
On this page
  • closure-compiler-js
  • Webpack
  • Tham khảo
On this page
  • closure-compiler-js
  • Webpack
  • Tham khảo