Несколько сред в проекте ioni c с приложением Android - PullRequest
1 голос
/ 18 июня 2020

Каков наилучший рабочий процесс для работы со средами (DEV и PROD) в одном проекте ioni c с приложением Android в отношении служб Google. json который должен находиться в файловой системе в папке / android / app.

Для сред firebase есть отличный способ использования firebase ... но какой лучший способ для сервисов google. json. Я использую два разных файла, один для firebase DEV и один для firebase PROD enter code here

1 Ответ

0 голосов
/ 18 июня 2020

Я сделал это только для Android, как показано ниже, и у меня это сработало: -

  1. Создайте следующие файлы и каталоги в своем проекте (это исходные файлы, в которых конфигурации для обоих проектов Firebase жестко запрограммированы. config. xml необходимо заменить из-за другого имени пакета):

  2. с использованием хуков ioni c, создайте файл build-before . js, который содержит следующий сценарий:

    module.exports = function(ctx) {  
    console.log(ctx);
    var fs = require("fs");
    var xmlConfig = "config.xml"
     if (ctx.build.configuration == 'production') {
     var srcfile = "src/production/google-services.json";
     var destfile = "google-services.json";
     var srcConfigfile = "src/production/config.xml";
     var destConfigfile = "config.xml";
     console.log("copying " + srcfile + " to " + destfile);
     fs.createReadStream(srcConfigfile).
     pipe(fs.createWriteStream(destConfigfile));
    
     fs.createReadStream(srcfile).pipe(fs.createWriteStream(destfile));
    
    
     } else {
       console.log("TARGET environment variable is not set.  Using default values.");
    
       var srcfile = "src/development/google-services.json";
       var destfile = "google-services.json";
       var srcConfigfile = "src/development/config.xml";
       var destConfigfile = "config.xml";
       console.log("copying " + srcfile + " to " + destfile);
       fs.createReadStream(srcConfigfile).
       pipe(fs.createWriteStream(destConfigfile));
    
       fs.createReadStream(srcfile).
       pipe(fs.createWriteStream(destfile));
       }
     }
    

3. В файл ioni c .config. json добавьте следующее:

   "hooks": {
   "build:before": "./scripts/build-before.js"
  }

4.Проверьте следующие команды:

$ ioni c cordova build android --prod

$ ioni c cordova build android

$ ioni c serve --prod

$ ioni c serve

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