Gmail Надстройка экспортируемых функций - PullRequest
0 голосов
/ 17 декабря 2018

В последнее время при поиске средств для повышения производительности моего дополнения Gmail я натолкнулся на определенный вопрос комментариев, в которых отмечалось, что:

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

Я начал тестировать ее и заметил, что при отладке свойство this функции, кроме глобальных и библиотечных объектов, содержало module и exports свойства, которые содержат все экспортируемые (и, возможно, даже все) функции.Я использую Typescript, поэтому экспорт - это способ достижения модульности для меня, но, насколько я знаю, clasp на самом деле не компилирует мой Typescript.

То есть я хотел бы знать следующие темы:

1) Оцениваются ли действительно экспортированные функции?Что это означает, в частности?

2) Какие функции точно оцениваются?Все или только экспортированные?Какие функции следует экспортировать?

3) Применяются ли эти правила к вызовам вложенных функций?Скажем, я выполняю map функцию над массивом.Оценивается ли контекст каждый раз, когда передается функция?

Кроме того, мне бы очень хотелось получить общие советы о том, как улучшить производительность моего дополнения.Есть ли какие-либо руководства помимо developers.google.com руководств?

Заранее спасибо.

...