Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

google closure compiler and jquery

I copy-pasted my js code into the google compiler and when I copied it back into my application it didn't work. I realized that my code needs jquery so I copied the jquery code and my code into the google compiler, hoping it would easily solve the problem, but it doesn't work either.

In chrome, the code bugs on the line $(document).K(function () { which is the document ready function. The error is Uncaught TypeError: Object [object Object] has no method 'K'

What do I need to do to make it (tentatively) work?

Thanks for your suggestions.

like image 511
frenchie Avatar asked Mar 06 '12 21:03

frenchie


People also ask

What is the function of closure compiler?

The Closure Compiler is a tool for making JavaScript download and run faster. Instead of compiling from a source language to machine code, it compiles from JavaScript to better JavaScript. It parses your JavaScript, analyzes it, removes dead code and rewrites and minimizes what's left.

What is Closure Compiler UI?

The Closure Compiler service reduced the code from 92 bytes to just 55 bytes by removing comments and whitespace and renaming basic symbols. For your convenience, the Closure Compiler service hosts the output file default. js on its servers for one hour.


1 Answers

Use @externs_url to "import" symbols in Google's Closure compiler:

// @externs_url https://raw.githubusercontent.com/google/closure-compiler/master/contrib/externs/jquery-1.9.js

I recommend to use one of the externs as defined in contrib/externs, which only includes the names of all methods.

Example

// ==ClosureCompiler==
// @compilation_level ADVANCED_OPTIMIZATIONS
// @externs_url https://raw.githubusercontent.com/google/closure-compiler/master/contrib/externs/jquery-1.9.js
// ==/ClosureCompiler==
$(document).ready(function(){alert(0);});  // Input

Output:

$(document).ready(function(){alert(0)});
like image 152
Rob W Avatar answered Oct 02 '22 15:10

Rob W