Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果存在JSON,则导入JSON_Javascript_Json_Angular_Typescript_Angular8 - Fatal编程技术网

Javascript 如果存在JSON,则导入JSON

Javascript 如果存在JSON,则导入JSON,javascript,json,angular,typescript,angular8,Javascript,Json,Angular,Typescript,Angular8,我有一个配置文件。我将该文件添加到.gitignore,因为它将根据环境而有所不同 在某些环境中,文件可能不存在。在这种情况下,我将使用默认值。因此,如果存在JSON文件,您希望导入它。我可以像从'config.JSON'导入配置一样轻松地导入JSON文件 当文件不存在时,会显示:“找不到模块'config.json'。” 我使用的是angular 8,typescript。不要将config.json添加到.gitignore文件中,因为您需要该文件来编译源代码。您可以使用Angular的“f

我有一个配置文件。我将该文件添加到
.gitignore
,因为它将根据环境而有所不同

在某些环境中,文件可能不存在。在这种情况下,我将使用默认值。因此,如果存在JSON文件,您希望导入它。我可以像从'config.JSON'导入配置一样轻松地导入JSON文件

当文件不存在时,会显示:“找不到模块'config.json'。


我使用的是angular 8,typescript。

不要将
config.json
添加到
.gitignore
文件中,因为您需要该文件来编译源代码。您可以使用Angular的
“fileReplacements”
功能来配置不同的构建环境

您将创建两个文件

config.prod.json

{ example: "Some data" }
false
config.json

{ example: "Some data" }
false
然后将Angular配置为仅在生产构建期间复制
config.prod.json

"configurations": {
"production": {
    "fileReplacements": [
        {
            "replace": "src/config.json",
            "with": "src/config.prod.ts"
        }
    ],
您现在可以导入此文件,但对于开发人员构建,它将生成布尔值(false),而对于生产,它将是真实值

从'config.json'导入配置;
如果(配置){
log(“生产配置”);
}否则{
log(“没有配置,然后使用其他配置”);
}

不要将
config.json
添加到
.gitignore
文件中,因为您需要该文件来编译源代码。您可以使用Angular的
“fileReplacements”
功能来配置不同的构建环境

您将创建两个文件

config.prod.json

{ example: "Some data" }
false
config.json

{ example: "Some data" }
false
然后将Angular配置为仅在生产构建期间复制
config.prod.json

"configurations": {
"production": {
    "fileReplacements": [
        {
            "replace": "src/config.json",
            "with": "src/config.prod.ts"
        }
    ],
您现在可以导入此文件,但对于开发人员构建,它将生成布尔值(false),而对于生产,它将是真实值

从'config.json'导入配置;
如果(配置){
log(“生产配置”);
}否则{
log(“没有配置,然后使用其他配置”);
}

您可以查看以下内容:[如何测试字符串是否为JSON?]()您应该创建sampleConfig.josn,无需将其添加到.gitignore文件中,并且仍然应该将config.JSON设置为gitignore。每个使用此项目的地方都只需要将其重命名为config.json。我认为这个问题不是重复的问题,但问题中推荐的方法解决了我的问题。您可以查看以下内容:[如何测试字符串是否为json?]()您应该创建sampleConfig.josn,无需将其添加到.gitignore文件中,并且仍然应该将config.json设置为gitignore。每个使用该项目的地方都只需要将其重命名为config.json。我认为这个问题不是重复的问题,但问题中推荐的方法解决了我的问题。谢谢你的回答,但如果我只有两个环境,你的回答是有效的。与此相反,使用中所述的方法更灵活谢谢你的回答,但是如果我只有两个环境,你的回答是有效的。相反,使用中所述的方法更灵活