environment.ts 文件通常是提交还是忽略?

gle*_*-84 6 angular

文件src\environments\environment.ts通常是提交还是添加到.gitignore文件中?

在一个新的 Angular 项目(8.x)中,我看到这个文件没有添加到文件中.gitignore,我认为它是这样的,因为项目导入了这个文件(或其替换版本,具体取决于指定的配置)。

真正的问题是:如果开发人员希望对此文件进行本地、特定于开发人员的更改(使用不同的apiUrl设置),他们是否应该:

  1. 保持此文件使用共享默认值提交,仅在需要时在本地忽略该文件(不影响其他开发人员),然后进行本地更改。
  2. 最初使用共享默认值提交此文件,将其添加到.gitignore所有用户,然后进行本地更改。
  3. 切勿提交该文件(开发人员必须在首次检出代码时创建该文件)。

Rea*_*lar 7

真正的问题是:如果开发人员希望对此文件进行本地、特定于开发人员的更改(例如不同的 apiUrl 设置)

该environment.ts文件是项目所需的,但其他文件不是必需的,除非它们是当前构建的一部分。

因此,您可以添加一个新文件并将其命名environment.localhost_default.ts到您的项目中。在该文件中,您可以放置​​如下内容:

/** Copy this file to environment.localhost.ts **/
export const environment = {
    apiUrl: '/** REPLACE WITH LOCALHOST URL **/',
    production: false
};
Run Code Online (Sandbox Code Playgroud)

现在您可以添加environment.localhost.ts到您的.gitignore文件中。

在您的angular.json项目结构下。您将看到一个带有标签的部分"architect",您可以"configurations"为"localhost". 这告诉 Angular 它应该使用该environment.localhost.ts文件。

"configurations": {
    "localhost": {
        "fileReplacements": [
            {
                "replace": "src/environments/environment.ts",
                "with": "src/environments/environment.localhost.ts"
            }
        ],
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

您现在可以使用此环境构建或服务您的项目。

"configurations": {
    "localhost": {
        "fileReplacements": [
            {
                "replace": "src/environments/environment.ts",
                "with": "src/environments/environment.localhost.ts"
            }
        ],
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

由于该文件被排除在 Git 之外,因此更改不会添加到存储库中,但拥有默认文件environment.localhost_default.ts可以帮助其他开发人员入门。如果您对该文件进行更改,它将与其他人共享。