【问题标题】:Read environmet variable from cordova hook从cordova钩子读取环境变量
【发布时间】:2021-08-03 11:55:35
【问题描述】:

我有一个 ionic 项目,它在 src/environments/ 下托管环境变量,它具有经典的 environment.ts 环境.prod.ts 文件。

在根文件夹中,我在 scripts/afterBuild.js

下有我的 cordova hook

在我的 config.xml 中,我这样称呼我的钩子:

<hook src="/scripts/afterBuild.js" type="after_build" />

问题

如何将 environment.ts 文件中的生产变量读取到我的 afterBuild.js 脚本中?

环境.ts:

export const environment = {
  ...
  production: false
};

我有什么尝试

我只能将文件作为文本读取,但找不到解析它的方法。

afterBuild.js

const fs = require('fs');
var path = require('path');

module.exports = function (ctx) {
  var envFile = 'src/environments/environment.ts';
  var configFileFull = path.join(ctx.opts.projectRoot, envFile);
  var configData = fs.readFileSync(configFileFull, 'utf8');
  console.log(configData)
};

【问题讨论】:

    标签: javascript angular typescript cordova cordova-hooks


    【解决方案1】:

    我设法找到了解决方案。它是这样的:

    当我运行科尔多瓦命令时,例如:

    cordova build
    

    我可以这样运行

    cordova build --prod --something --somethingElse false
    

    那么,ctx 变量来自

    module.exports = function (ctx) {
      ...
    };
    

    ...
    opts:{
       ...,
       options: { production: true, something: true, somethingElse: false }
    },
    ...
    

    这对我来说不是最好的解决方案,但它可以工作。欢迎任何其他解决方案:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-05
      • 2017-11-16
      • 2017-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-27
      • 1970-01-01
      相关资源
      最近更新 更多