如何在TypeScript中引用JSON文件?

时间:2018-08-05 03:30:38

标签: json node.js typescript express reference

我目前正在尝试引用JSON路径并将其存储在常量中。我尝试使用字符串进行引用,然后重新发送它作为响应,它给了我字符串。那么,什么是最适合继续引用JSON文件以查询其查询字段的方法呢?

谢谢您的帮助!

enter image description here

2 个答案:

答案 0 :(得分:0)

由于已经将JSON文件的内容加载到字符串中,因此您必须记住在对Content-Type的响应上设置application/json头。这就是向客户端指示响应主体的类型的原因。假设您使用的是Express,则只需在致电res.setHeader('Content-Type', 'application/json');之前添加res.send

答案 1 :(得分:0)

在nodejs内,如果只是导入JSON文件,那么它将自动解析为一个对象:

const keyFile = require('./keyfile.json');

更新: 如果您使用的是TS >=2.9

  

支持类型正确的JSON导入   现在,在将节点策略用于moduleResolution时,TypeScript能够将JSON文件作为输入文件导入。这意味着您可以将json文件用作其项目的一部分,并且它们将被很好地键入!

// ./tsconfig.json
{
    "compilerOptions": {
        "module": "commonjs",
        "resolveJsonModule": true,
        "esModuleInterop": true
        "outDir": "lib"
    },
    "include": ["src"]
}

// ./src/settings.json
{
    "dry": false,
    "debug": false
}

// ./src/foo.ts
import settings from "./settings.json";
settings.debug === true;  // Okay
settings.dry === 2;       // Error! Can't compare a `boolean` and `number`
     

这些JSON文件还将保留到您的输出目录中,以便在运行时事情“正常”。