代码之家  ›  专栏  ›  技术社区  ›  Jeffrey Roosendaal SReddy

角度:如何为每个配置添加唯一的.htaccess文件?

  •  0
  • Jeffrey Roosendaal SReddy  · 技术社区  · 6 年前

    我的角应用程序包含2种构建配置:分级和生产。


    目前我有一个标准 .htaccess 为所有的构建文件,通过将其包含在我的资产中:

    "assets": [
      "src/.htaccess",
      "src/assets",
      "src/favicon.png"
    ],
    

    我想用一个 .htpasswd 文件,所以我更新了我的资产以包含它:

    "assets": [
      "src/.htaccess",
      "src/.htpasswd"
      "src/assets",
      "src/favicon.png"
    ],
    

    这个 htpasswd 文件可以包含在每个生成中,因为在 HTAccess 文件,它什么都不做。


    然后,我创造了第二个 HTAccess 文件,称为 .htaccess.dev ,添加了以下行:

    AuthName "Protected"
    AuthUserFile /home/admin/domains/dev.***.com/public_html/.htpasswd
    AuthGroupFile /dev/null
    AuthType Basic
    require valid-user
    

    这个文件应该用额外的行替换 HTAccess 文件,因此我将以下配置添加到 angular.json 文件:

    "build": {
      ...
      "configurations": {
        "staging": {
          ...
          "fileReplacements": [
            {
              "replace": "src/.htaccess",
              "with": "src/.htaccess.dev"
            },
            {
              "replace": "src/environments/environment.ts",
              "with": "src/environments/environment.staging.ts"
            }
          ]
        }
      }
    }
    

    fileReplacements 对我来说很好 .env 但是 它不会替换我的htaccess文件 . 为什么?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Jeffrey Roosendaal SReddy    6 年前

    啊,看来 fileReplacements 只适用于 .ts 文件夹。


    angular/devkit#885 :

    目前,文件替换功能仅对TS文件起作用。更具体地说,它只适用于webpack编译器宿主中的文件。

    这将(显然)固定在角6.1。

    See this GitHub thread for more info


    更新2018-08-28

    现在支持 (confirmed) 角度6.1