我正在爲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 $元數據是不是一個函數?
你的預感是正確的。添加'@warning_level VERBOSE'選項,你會得到編譯器警告。 –