Вопрос по google-closure, google-closure-library, libphonenumber – Как разместить Google libphonenumber локально?

9

Во время разработки на моем локальном хосте я пытаюсь самостоятельно разместитьlibphonenumber библиотека. Я пытаюсь со следующим:


goog.require('goog.proto2.Message');





Это работает, но у меня все еще есть зависимость от внешнего размещенного компонента: библиотеки закрытия. Я пытался использоватьзакрытие облегченный, которая (по-видимому, я новичок здесь) является довольно полной версией библиотеки закрытий, доступной для самостоятельного размещения. Я попытался сделать следующее:


goog.require('goog.proto2.Message');





Ноgoog.proto2.Message не доступен. Я получаю следующие ошибки:

Uncaught TypeError: Cannot read property 'Message' of undefined

Ошибка исходит отphonemetadata.pb.js сценарий:

goog.inherits(i18n.phonenumbers.NumberFormat, goog.proto2.Message);

Что я могу сделать, чтобы полностью самостоятельно принять?libphonenumber

Ваш Ответ

3   ответа
24

процесс изменился, хотя бы немного:

1) перейти кhttp://closure-compiler.appspot.com/home

2) вставить следующее

// ==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
// @formatting pretty_print
// ==/ClosureCompiler==

3) Нажмите Compile

4) Готово: текущий скомпилированный файл libphonenumber.js должен появиться на панели RHS

большое спасибо krystan honour
24

вы уже решили эту проблему, но я нашел действительно простой способ скомпилировать весь код libphonenumber в один файл, который включает в себя содержимое библиотеки закрытия.

Идти кhttp://closure-compiler.appspot.com/home

Это гуглонлайн-версия компилятора замыкания.

Затем введите что-то вроде:

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

Вы можете добавлять или удалять любые дополнительные файлы, которые вы хотите.

Затем нажмите Compile.

Это извлечет каждый из последних файлов из хранилища и соберет его в один файл javascript.

Теперь ты неНе нужно беспокоиться об обработке всего кода библиотеки замыкания, так как то, что вам нужно, уже скомпилировано.

Надеюсь это поможет.

Изменить: я считаю, что это действительно полезно для обработки обновлений в библиотеке, а также. Если вы просто повторно запустите это в компиляторе, вы получите новый файл javascript со всеми последними обновлениями.

На самом деле у них есть API, к которому можно получить удаленный доступ, и примеры на Python о том, как его использовать. dangonfast
спасибо, это здорово! Версия этого инструмента для командной строки была бы отличной, так что я могу интегрировать ее в свои сценарии развертывания. Я работаю над Linux. Вы знаете об альтернативе командной строки? dangonfast
@gonvaled Посмотрите наdevelopers.google.com/closure/compiler Это домашняя страница для замыкателя-компилятора. У них есть Java-версия инструмента, но вы должны изучить, как его использовать, так как я не знают. Tom Heard
@gonvaled Очень хорошо, я видел это, но нена самом деле это далеко не так, поскольку онлайн-версия хорошо работает для меня. Я думаю, что инструмент командной строки может быть полезным в будущем, хотя. Tom Heard
0

иотеки:https://github.com/halt-hammerzeit/libphonenumber-js/

Это легкий и может быть в комплекте с Webpack и прочее

Похожие вопросы