Как устранить ошибку развертывания Dialogflow Firebase при отсутствии файла config.json? - PullRequest
0 голосов
/ 23 мая 2019

Я получаю следующую ошибку при попытке выполнить развертывание кода клиента для проекта Dialogflow с помощью firebase.

Error: Error occurred while parsing your function triggers.

Error: ENOENT: no such file or directory, open 'c:\Projects\config.json'
    at Object.fs.openSync (fs.js:646:18)
    at Object.fs.readFileSync (fs.js:551:33)
    at Object.exports.getConfig (c:\Projects\my_project\functions\my_utilities.js:10:18)
    at Object.<anonymous> (c:\Projects\my_project\functions\index.js:10:24)
    at Module._compile (module.js:652:30)
    at Object.Module._extensions..js (module.js:663:10)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)
    at Function.Module._load (module.js:497:3)
    at Module.require (module.js:596:17)

Моя структура каталогов выглядит следующим образом.

config.json
  /functions
   index.jx
   my_utilities.js

MyФайл my_utilities.js выглядит следующим образом.

'use strict'
const moment = require('moment')
const fs = require('fs')
exports.getDatePlus = function(value)
{
  return moment().add(value,'days').format('L');
}

exports.getConfig = function(path){
  const raw = fs.readFileSync(path)
  return JSON.parse(raw)
}

И мой index.js использует вот такие my_utilities.

// The Cloud Functions for Firebase SDK to create Cloud Functions and setup triggers.
const functions = require('firebase-functions');

//var firebaseAuth = require("firebase-auth");
var firebaseClient = require('firebase-client');
var moment = require('moment');

const MyUtils = require('./my_utilities');
const Zoho = require('./zoho')
const Config = MyUtils.getConfig('../config.json')

Вот мой файл firebase.json

{
  "functions": {
    "predeploy": [
      "npm --prefix \"$RESOURCE_DIR\" run lint"
    ]
  }
}

Если я перемещаю файл конфигурации в каталог функций, я получаю эту ошибку.

Ошибка: Произошла ошибка при разборе триггеров вашей функции.

Error: ENOENT: no such file or directory, open 'c:\Projects\myproject\config.json'
    at Object.fs.openSync (fs.js:646:18)

Если у меня есть файл config.jsonв обоих каталогах он будет развернут, но это не решение.Должен быть способ включить информацию о конфигурации, чтобы она не распространялась повсюду.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...