Как использовать Axios / Fetch в Google Apps Script с Clasp? - PullRequest
1 голос
/ 28 октября 2019

Настройка

  • Я использую https://github.com/labnol/apps-script-starter (содержит застежку, вкладыш и веб-пакет) и правильно его настройте для работы с Google SheetsАддон.
  • Я использую Quokka.js + Node в VS Code для создания прототипов

Цель

Я начал разрабатывать боковые панели и начальные функции, и все отлично работает. Теперь я хочу работать с API-интерфейсами Rest и иметь возможность работать с выходными данными как в Node.js, так и в создаваемом надстройке Google Sheets.

Я понимаю следующие предпосылки:

  • Узел не поддерживает UrlFetchApp.fetch
  • GAS не поддерживает собственную выборку (из-за отсутствия объектов window и dom)

Поэтому я решил протестировать

  • babel-polyfill (само по себе это работает нормально)
  • axios (вызывает проблемы)

useдля обработки обещаний, чтобы позволить прототипирование в узле и получить тот же результат в браузере.

Задача

Внутри узла все работает, как и ожидалось, однако, как только я добавлю

const axios = require('axios');

в любой файл .js в моем проекте я получаю следующую ошибку при попытке протолкнуть код с помощью Clasp.

{ code: 400, errors: [ { message: 'Syntax error: Missing name after . operator.', line: ..., domain: 'global', reason: 'badRequest' } ] }

Данная строка с ошибкой module.exports.default = axios;

Как только я закомментирую эту строку, нажатие Clasp работает, но axios не работает, яв среде ГАЗА. (Я также попробовал Fetch Polyfills (например, перекрестная выборка), но столкнулся с теми же проблемами)

Буду очень признателен за любые идеи о том, как достичь своей цели!

...