关于TypeScript中import JSON的正确姿势详解


Posted in Javascript onJuly 25, 2017

前言

Typescript是微软内部出品的,用actionscript的语法在写js的一门新语言,最近 TypeScript 中毒,想想我一个弱类型出身的人,怎么就喜欢上了类型约束……当然这不是重点,重点可能还是 JS 没有接口,我没法靠 class 语法糖写的非常 OO……下面这篇文章想说的其实是在 ts 中如何正确的 import json 格式。

首先我使用了基本姿势

import * as variable from './fooooooo.json'

结果发现他提示我并没有这个 module(Cannot find module),咋回事呀大佬,明明 JavaScript 中我可以正常使用。

查了一下,找到了一个方法:

命名一个 typings.d.ts:

declare module "*.json" {
 const value: any;
 export default value;
}

接下来理论上你就可以愉快的使用了,比如

import * as variable from './fooooooo.json'
const data = (variable as any).data

当然在使用中由于我不小心写错了 config 文件的文件名所以没有生效于是……我又去找了别的方法。

比如可以使用 @types/node 加上 require 引入,如果你的服务中禁用 any,这也是一个比较好的方法。

甚至你可以手写读取文件,不过感觉上去还是比较智障……还是觉得前面两种方法更优雅一点

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
小议Function.apply()之二------利用Apply的参数数组化来提高 JavaScript程序性能
Nov 30 Javascript
JavaScript中Object和Function的关系小结
Sep 26 Javascript
Jquery插件之多图片异步上传
Oct 20 Javascript
20款超赞的jQuery插件 Web开发人员必备
Feb 26 Javascript
利用try-catch判断变量是已声明未声明还是未赋值
Mar 12 Javascript
jQuery制作简洁的多级联动Select下拉框
Dec 23 Javascript
Canvas 绘制粒子动画背景
Feb 15 Javascript
jquery请求servlet实现ajax异步请求的示例
Jun 03 jQuery
利用Angular2的Observables实现交互控制的方法
Dec 27 Javascript
详解js创建对象的几种方法及继承
Apr 12 Javascript
解决Vue打包后访问图片/图标不显示的问题
Jul 25 Javascript
Vue 实现可视化拖拽页面编辑器
Feb 01 Vue.js
微信JSSDK调用微信扫一扫功能的方法
Jul 25 #Javascript
利用node.js爬取指定排名网站的JS引用库详解
Jul 25 #Javascript
详解angularjs获取元素以及angular.element()用法
Jul 25 #Javascript
以BootStrap Tab为例写一个前端组件
Jul 25 #Javascript
基于Bootstrap的标签页组件及bootstrap-tab使用说明
Jul 25 #Javascript
js事件委托和事件代理案例分享
Jul 25 #Javascript
基于JavaScript实现多级菜单效果
Jul 25 #Javascript
You might like
php.ini中文版
2006/10/09 PHP
Yii框架获取当前controlle和action对应id的方法
2014/12/03 PHP
浅谈使用PHP开发微信支付的流程
2015/10/04 PHP
php使用pthreads v3多线程实现抓取新浪新闻信息操作示例
2020/02/21 PHP
CSS+JS构建的图片查看器
2006/07/22 Javascript
javascript 实现简单的table排序及table操作练习
2012/12/28 Javascript
JavaScript去除空格的三种方法(正则/传参函数/trim)
2013/02/06 Javascript
使用Jquery实现点击文字后变成文本框且可修改
2013/09/21 Javascript
JavaScript实现的石头剪刀布游戏源码分享
2014/08/22 Javascript
JavaScript fontsize方法入门实例(按照指定的尺寸来显示字符串)
2014/10/17 Javascript
javascript实现详细时间提醒信息效果的方法
2015/03/11 Javascript
4种JavaScript实现简单tab选项卡切换的方法
2016/01/06 Javascript
JQuery插件Marquee.js实现无缝滚动效果
2016/04/26 Javascript
JS HTML5实现拖拽移动列表效果
2020/08/27 Javascript
Vue.js数据绑定之data属性
2017/07/07 Javascript
Vue 表单控件绑定的实现示例
2017/08/11 Javascript
vuex与组件联合使用的方法
2018/05/10 Javascript
Element-UI中关于table表格的那些骚操作(小结)
2019/08/15 Javascript
浅谈vue-router路由切换 组件重用挖下的坑
2019/11/01 Javascript
Bootstrap table 服务器端分页功能实现方法示例
2020/06/01 Javascript
vue用elementui写form表单时,在label里添加空格操作
2020/08/13 Javascript
Python实现的异步代理爬虫及代理池
2017/03/17 Python
通过Pandas读取大文件的实例
2018/06/07 Python
python正则表达式匹配不包含某几个字符的字符串方法
2019/07/23 Python
浅谈Python_Openpyxl使用(最全总结)
2019/09/05 Python
Python使用pymysql模块操作mysql增删改查实例分析
2019/12/19 Python
Pytorch 使用不同版本的cuda的方法步骤
2020/04/02 Python
在keras 中获取张量 tensor 的维度大小实例
2020/06/10 Python
接口自动化多层嵌套json数据处理代码实例
2020/11/20 Python
ziaja齐叶雅官方海外旗舰店:来自波兰的天然护肤品牌
2017/01/02 全球购物
加拿大约会网站:EliteSingles.ca
2018/01/12 全球购物
英文翻译的自我评价语句
2013/10/04 职场文书
政府信息公开实施方案
2014/05/09 职场文书
2014年教师党员自我评议
2014/09/19 职场文书
高中生国庆节演讲稿范文2014
2014/09/21 职场文书
Netty分布式客户端处理接入事件handle源码解析
2022/03/25 Java/Android