博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TypeScript 导入 JSON Module
阅读量:5879 次
发布时间:2019-06-19

本文共 809 字,大约阅读时间需要 2 分钟。

这是我在知乎问题 的回答。

Node.js 模块是允许直接导入 JSON 文件的,但是 ES Module 现在还不支持,TS 在 2.9 (18年5月17日还未发布)之前也不支持。日常中使用 JSON 最多的场景就是 配置文件了,如果要使用的话需要使用下面一些 trick 来支持。

这里有个 JSON 文件

{  "//": "student.json",  "name": "test",  "age": 23}复制代码

如果需要导入的话,需要先定义类型。

// student.d.tsdeclare module "*student.json" {  export interface IStudent {    name: string;    age: number;  }  export const student: IStudent}复制代码

这里使用 *student.json 是因为导入的时候有路径符号,这里要用 * 匹配。

最后在 tsconfig.json 文件中包含这些类型定义文件。

{  "//": "tsconfig.json",  "include": ["src/**/*", "./myTypes/*.d.ts"],  "exclude": ["node_modules"]}复制代码

现在我们就可以直接在文件中引入了,TS 会智能的提示类型。

import { log } from "console";// 路径为 `./student.json` // 所以上面声明模块时用了通配符 `declare module "*student.json"`import { student } from "./student.json";log(student.age);log(student.name);复制代码

即将发布,到时候就可以直接使用 JsonModule 了。

转载地址:http://xfcix.baihongyu.com/

你可能感兴趣的文章
[LeetCode] Reverse Lists
查看>>
前台页面之<base>标签
查看>>
angular分页插件tm.pagination 解决触发二次请求的问题
查看>>
day08-文件操作
查看>>
教学-45 对象的相等
查看>>
贪食蛇
查看>>
关于Spring 中的事务
查看>>
为什么现在都用面向对象开发,为什么现在都用分层开发结构?
查看>>
【离散数学】 SDUT OJ 偏序关系
查看>>
写给学弟学妹的产品入门建议(持续更新)
查看>>
view视图总结
查看>>
oracle11g 数据库导出报“ EXP-00003:
查看>>
201521123009 《Java程序设计》第11周学习总结
查看>>
可解释的机器学习
查看>>
Python3之多线程学习
查看>>
aspx页面@Page指令解析
查看>>
POJ 2002
查看>>
MVC和MTV结构分析
查看>>
(转)微信网页扫码登录的实现
查看>>
mariadb启动报错:[ERROR] Can't start server : Bind on unix socket: Permission denied
查看>>