2015-04-27 25 views
1

我正在爲libphonenumber使用Google closure online compiler。以下是編譯器代碼:

// ==ClosureCompiler== 
// @output_file_name default.js 
// @compilation_level SIMPLE_OPTIMIZATIONS 
// @use_closure_library true 
// @code_url http://libphonenumber.googlecode.com/svn/trunk/javascript/i18n/phonenumbers/phonemetadata.pb.js 
// @code_url http://libphonenumber.googlecode.com/svn/trunk/javascript/i18n/phonenumbers/phonenumber.pb.js 
// @code_url http://libphonenumber.googlecode.com/svn/trunk/javascript/i18n/phonenumbers/metadatalite.js 
// @code_url http://libphonenumber.googlecode.com/svn/trunk/javascript/i18n/phonenumbers/phonenumberutil.js 
// @code_url http://libphonenumber.googlecode.com/svn/trunk/javascript/i18n/phonenumbers/asyoutypeformatter.js 
// ==/ClosureCompiler== 

這編譯成功,但是當我在HTML中包括編譯js文件,然後提示錯誤:不確定是不是一個功能,管線196
我懷疑它有事可做與goog.require('goog.proto2.Message');,但目前還沒有運氣。

最終目標是使手機號驗證,這樣的事情:

var phoneUtil = i18n.phonenumbers.PhoneNumberUtil.getInstance(); 
var number = phoneUtil.parseAndKeepRawInput('1234567899', 'XX'); 
var isNumberValid = phoneUtil.isValidNumber(number); 

如何解決類型錯誤:goog.proto2.Message.set $元數據是不是一個函數

+0

你的預感是正確的。添加'@warning_level VERBOSE'選項,你會得到編譯器警告。 –

回答

0

由於谷歌移動代碼Github然後使用下面的代碼在Google online closure compiler得到最新的:

// ==ClosureCompiler== 
// @compilation_level SIMPLE_OPTIMIZATIONS 
// @output_file_name libphonenumber.js 
// @use_closure_library true 
// @code_url https://github.com/googlei18n/libphonenumber/raw/master/javascript/i18n/phonenumbers/phonemetadata.pb.js 
// @code_url https://github.com/googlei18n/libphonenumber/raw/master/javascript/i18n/phonenumbers/phonenumber.pb.js 
// @code_url https://github.com/googlei18n/libphonenumber/raw/master/javascript/i18n/phonenumbers/metadata.js 
// @code_url https://github.com/googlei18n/libphonenumber/raw/master/javascript/i18n/phonenumbers/phonenumberutil.js 
// @code_url https://github.com/googlei18n/libphonenumber/raw/master/javascript/i18n/phonenumbers/asyoutypeformatter.js 
// ==/ClosureCompiler==