我希望根据文档configuring-application-environment保存在environment.ts和envornment.prod.ts中的暂存/生产路径。我有一个要访问的文件的相对路径,如果我在以下文件中键入它,则可以正常使用:import json_data from '../../folder/file.json'
当我尝试使用环境文件中的相同路径时,出现错误TS1141:预期为字符串文字。我可以console.log(environment.path),但得到的路径没有引号../../folder/file.json;
我尝试使用.toString()和
`${environment.path}`
,也尝试了转义',以便值显示相同的'../../folder/file.json'
在声明const url: String = environment.path
时,我还尝试将其值设置为字符串。我正在模拟数据.ts文件中使用此值,并用于生成应用程序所需的数据。
environment.ts
export const environment = {
production: false,
all_hosts_url: '\'../../nodeServer/s/output/hosts.json\'',
connections_url: '../assets/data/connections.json',
DOMAINS_URL: '../assets/data/domains.json'
};
mock-data.ts
import { environment} from '../environments/environment';
const _all_hosts_url: String = environment.all_hosts_url;
console.log(_all_hosts_url);
import json_data from all_hosts_url;
答案 0 :(得分:2)
无法导入变量中定义的模块。这就是为什么它解释字符串标记的原因。
不是动态加载模块,而是加载可能的模块并使用条件来使用给定环境所需的特定数据。
import { environment} from '../environments/environment';
import dev from 'path/to/dev/file';
import prod from 'path/to/prod/file';
const json_data = environment.production ? prod : dev;