Я загрузил некоторые образцы голосовых записей в облачное хранилище Firebase, а затем я пытаюсь включить эти записи в речь действий Google, используя SSML.но проблема, с которой я сталкиваюсь, заключается в том, что я не могу развернуть облачную функцию на базе данных из-за ошибки eslint, которая появляется рядом с асинхронным conv объектом.и он говорит Ошибка синтаксического анализа: неожиданный знак токена eslint Я слежу за этим постом https://medium.com/google-developers/using-cloud-storage-for-firebase-for-hosting-rich-media-in-your-actions-a838977eb758 для реализации, но он не работает.
Вот полное описание ошибки: развертывание функций Выполнение команды: npm --prefix "$ RESOURCE_DIR" run lint
> functions@ lint /home/nish/Documents/Projects/Voice/functions
> eslint .
/home/nish/Documents/Projects/Voice/functions/index.js
17:44 error Parsing error: Unexpected token conv
✖ 1 problem (1 error, 0 warnings)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! functions@ lint: `eslint .`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the functions@ lint script.
npm ERR! This is probably not a problem with npm. There is likely
additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /home/nish/.npm/_logs/2019-04-02T18_17_17_639Z-
debug.log
Error: functions predeploy error: Command terminated with non-zero exit code1
и вот код
const functions = require("firebase-functions");
const admin = require("firebase-admin");
admin.initializeApp(functions.config().firebase);
const bucket = admin.storage().bucket();
const bucketAccessConfig = {
action: "read",
expires: Date.now() + 1000 * 60 * 60
};
app.intent("Default Welcome Intent", async conv => {
// eslint-disable-line no-use-before-define
let intentName = "Default_Welcome_Intent";
Path = `${intentName}/${Math.floor(Math.random() * 4) + 1}.ogg`;
const soundFileRef = bucket.file(Path);
const [soundUrl] = await soundFileRef.getSignedUrl(bucketAccessConfig);
// console.log(Path);
// console.log(storage);
conv.ask(`<speak><audio src=${soundUrl}/></speak>`);
});