我有一个robots'txt
文件,只想包含在我的开发版本中。
如何设置angular.json,使ng build --prod
不包含robots.txt,而ng build
包含robots.txt?
理想情况下,我想从prod扩展配置,并添加如下所示的robots.txt:
// ...
{
"dev": {
"assets": [
"extend_here",
"src/robots.txt"
]
}
}
谢谢
答案 0 :(得分:0)
尝试使用Angular environments
。默认情况下,可以在development
环境或production
环境中构建Angular应用程序。
为生产模式构建应用程序时,
environments/environment.ts
文件将替换为environments/environment.prod.ts
文件。因此,如果您在代码中引用的是environment.ts
文件中的设置,则无需放置。
您可以为robots.txt
创建一个具有不同值的配置,如下所示:
environment.ts
export const environment = {
production: false,
robotLink: 'src/robots.txt',
};
environment.prod.ts
export const environment = {
production: true,
robotLink: '',
};
,然后在要使用的任何Component
或Service
中,检查environment
中的文件,如果存在,请使用它:
Service.ts
import { environment } from '../environments/environment';
@Injectable()
export class DataService {
robotUrl = environment.robotLink;
constructor() { }
getData() {
if (robotUrl) {
// put your code here
}
}
}
有关environments
的更多信息,请访问此link。
此外,在angular.json
文件中有一个配置对象项目。{project-name} .architect.build.configurations。将产品条目中的资产设置为[]。