使用另一个文件覆盖静态成员

Overwrite static member by using another file

本文关键字:覆盖 静态成员 文件 另一个      更新时间:2023-09-26

我正在将一个js项目转换为typeScript,我想通过使用本地/untracked_by_git文件覆盖一些常量静态成员。

我原来的常量文件:

export default class Constants{
    static MYSQL_HOST = 'some_host';
    static MYSQL_PORT = 0000;
    static MYSQL_DATABASE = 'prod_database_name';
    static MYSQL_USER = 'user';
    static MYSQL_PWD = 'password';
}

我想要一个本地文件(不被版本控制系统跟踪),能够覆盖任何这些字段(为了连接到一些特定的db,不同于我的同事)

遵循@mario-alexandro-santini的建议

export default class Constants{
    static MYSQL_HOST = process.env.MYSQL_HOST || 'some_host';
    static MYSQL_PORT = process.env.MYSQL_PORT 0000;
    static MYSQL_DATABASE = process.env.MYSQL_DATABASE || 'prod_database_name';
    static MYSQL_USER = process.env.MYSQL_USER || 'user';
    static MYSQL_PWD = process.env.MYSQL_PWD || 'password';
}

假设您在基于UNIX的环境中运行,您可以有一个bash文件,我们将其命名为set-env.sh。将该文件名添加到.gitignore文件中,它应该包含如下内容。

#!/bin/sh
MYSQL_HOST="Other values"
MYSQL_PORT="LOL"
MYSQL_DATABASE="LAlaLA"
//etc..

当你运行应用程序时,只需执行./set-env.sh && <the command you did before>