我正在使用 Google 闭包 online compiler 作为 libphonenumber。这是编译器代码:
// ==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);
如何解决TypeError: goog.proto2.Message.set$Metadata is not a function?
最佳答案
set$Metadata
方法已在此提交中删除:https://github.com/google/closure-library/commit/d49d52de4577aea38dd0d3ec76a931c2f551dbf3
关于javascript - "goog.proto2.Message.set$Metadata"未定义错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29897586/