如何解决使用ng build --prod进行编译时,如何更改变量的值?
以下是我的情况,我有一个名为config.ts
的文件,其中存储了Web服务的URL:
/config/webservices.ts
export const URL = "http://localhost:3000/login";
我想知道某个变量是否有某种方法可以根据我身在development
还是production
中来动态获取值
像这样的东西:
var ENVIRONMET= ENV.getEnvironment //if is development http://localhost:3000/ else https://myapp.herokuapp/;
export const URL = ${"ENVIRONMET}login";
所以当我跑步
ng build --prod
会自动将值从ENVIRONMET
更改为https://myapp.herokuapp/
,否则就像我在development
中一样,它将使用:http://localhost:3000/
我不知道是否可能。
我该怎么做?谢谢。
解决方法
在environment.ts中具有价值,可以用environment.prod.ts来替代生产。
例如在environment.ts中,内容可以是:
export const environment = {
production: false,url: 'http://localhost:3000',};
在environment.prod.ts中,内容可以是:
export const environment = {
production: true,url: 'https://myapp.herokuapp/',};
如果您希望有一个单独的config.ts,请以类似的方式创建config.prod.ts,然后在angular.json中添加替换文件
"configurations": {
"production": {
"fileReplacements": [
{
"replace": "src/environments/environment.ts","with": "src/environments/environment.prod.ts"
},{
"replace": "src/config.ts","with": "src/config.prod.ts"
}
],}
,
在environment.ts
文件夹中创建2个文件environment.prod.ts
和src/environments
。
environment.prod.ts
export const environment = {
URL: 'https://myapp.herokuapp/'
};
environment.ts
export const environment = {
URL: 'http://localhost:3000/'
};
并确保在angular.json
下面的行中可用。
"configurations": {
"production": {
"fileReplacements": [
{
"replace": "src/environments/environment.ts","with": "src/environments/environment.prod.ts"
}
],
您config.ts
中的就是这样。
import { environment } from 'src/environments/environment';
export class Config {
public static URL = environment.URL;
}
它将动态绑定URL。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。