Angular 4 环境特定 robots.txt
Angular 4 environment specific robots.txt
是否可以根据构建环境(dev、stage、prod)加载特定于环境的资产。我在 .angular-cli.json 中的资产配置如下所示:
"assets": [
"assets",
"favicon.ico",
"web.config",
"188e5a3d.png",
"robots.txt"
],
我需要根据构建环境加载不同的 robots.txt 文件。我没有 运行 Apache 服务器上的应用程序,所以我没有 htaccess 文件来进行一些配置。
谢谢。
您可以将所有不同的 robots.txt 文件保存在资产中,并为每个环境创建多个环境文件。
例如产品:environment.prod.ts、environment.stage.ts
和angular-cli.json为这些文件添加配置
在 environment.prod.ts 文件中添加产品配置的 URL robots.txt url.
您可以在 constants.ts lik roboturl 中访问这些 url:environment.robotUrl.
它将根据构建配置获得 url
有多种方法可以针对不同的环境实现不同的 robots.txt。
- 最常见的方式
您可以创建所有不同的 robots.txt,例如 robots.txt、robots-staging.txt 和 robots-prod.txt。
并且在 angular.json 中,您可以在构建应用取决于构建模式。
{
"$schema": "./node_modules/@angular-devkit/core/src/workspace/workspace-schema.json",
"version": 1,
"newProjectRoot": "projects",
"projects": {
"angular": {
"root": "",
"projectType": "application",
"prefix": "app",
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
"outputPath": "dist/app/browser",
"index": "src/index.html",
"main": "src/main.ts",
"polyfills": "src/polyfills.ts",
"tsConfig": "src/tsconfig.browser.json",
"deployUrl": "/",
"assets": [
{
"glob": "favicon.ico",
"input": "src",
"output": "/"
},
{
"glob": "robots.txt",
"input": "src",
"output": "/"
},
{
"glob": "**/*",
"input": "src/assets",
"output": "/assets"
}
],
"styles": [
"src/styles.scss",
],
"scripts": [
"src/assets/js/bootstrap-select.min.js",
]
},
"configurations": {
"production": {
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.prod.ts"
},
{
"replace": "src/robots.txt",
"with": "src/robots-prod.txt"
}
],
...
}
}
},
...
}
- 部署管道
在这种情况下,您可以使用 CI/CD 工具来创建或更改 robots.txt。
您可以参考相关文档中的操作方法。
希望对您有所帮助!
是否可以根据构建环境(dev、stage、prod)加载特定于环境的资产。我在 .angular-cli.json 中的资产配置如下所示:
"assets": [
"assets",
"favicon.ico",
"web.config",
"188e5a3d.png",
"robots.txt"
],
我需要根据构建环境加载不同的 robots.txt 文件。我没有 运行 Apache 服务器上的应用程序,所以我没有 htaccess 文件来进行一些配置。
谢谢。
您可以将所有不同的 robots.txt 文件保存在资产中,并为每个环境创建多个环境文件。
例如产品:environment.prod.ts、environment.stage.ts
和angular-cli.json为这些文件添加配置
在 environment.prod.ts 文件中添加产品配置的 URL robots.txt url.
您可以在 constants.ts lik roboturl 中访问这些 url:environment.robotUrl.
它将根据构建配置获得 url
有多种方法可以针对不同的环境实现不同的 robots.txt。
- 最常见的方式
您可以创建所有不同的 robots.txt,例如 robots.txt、robots-staging.txt 和 robots-prod.txt。
并且在 angular.json 中,您可以在构建应用取决于构建模式。
{
"$schema": "./node_modules/@angular-devkit/core/src/workspace/workspace-schema.json",
"version": 1,
"newProjectRoot": "projects",
"projects": {
"angular": {
"root": "",
"projectType": "application",
"prefix": "app",
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
"outputPath": "dist/app/browser",
"index": "src/index.html",
"main": "src/main.ts",
"polyfills": "src/polyfills.ts",
"tsConfig": "src/tsconfig.browser.json",
"deployUrl": "/",
"assets": [
{
"glob": "favicon.ico",
"input": "src",
"output": "/"
},
{
"glob": "robots.txt",
"input": "src",
"output": "/"
},
{
"glob": "**/*",
"input": "src/assets",
"output": "/assets"
}
],
"styles": [
"src/styles.scss",
],
"scripts": [
"src/assets/js/bootstrap-select.min.js",
]
},
"configurations": {
"production": {
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.prod.ts"
},
{
"replace": "src/robots.txt",
"with": "src/robots-prod.txt"
}
],
...
}
}
},
...
}
- 部署管道
在这种情况下,您可以使用 CI/CD 工具来创建或更改 robots.txt。
您可以参考相关文档中的操作方法。
希望对您有所帮助!