关于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 相关文章推荐
jQuery 获取对象 根据属性、内容匹配, 还有表单元素匹配
May 31 Javascript
jQuery动态添加的元素绑定事件处理函数代码
Aug 02 Javascript
Javascript实现禁止输入中文或英文的例子
Dec 09 Javascript
JS+CSS实现简易实用的滑动门菜单效果
Sep 18 Javascript
JavaScript脚本判断蜘蛛来源的方法
Sep 22 Javascript
JavaScript判断按钮被点击的方法
Dec 13 Javascript
jQuery Form 表单提交插件之formSerialize,fieldSerialize,fieldValue,resetForm,clearForm,clearFields的应用
Jan 23 Javascript
一系列Bootstrap导航条使用方法分享
Apr 29 Javascript
遍历json获得数据的几种方法小结
Jan 21 Javascript
Vue.js事件处理器与表单控件绑定详解
Mar 20 Javascript
javascript实现导航栏分页效果
Jun 27 Javascript
详解elementUI中input框无法输入的问题
Apr 27 Javascript
微信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中eclipse 用空格替换 tab键
2013/06/24 PHP
Laravel中使用自己编写类库的3种方法
2015/02/10 PHP
新浪的图片新闻效果
2007/01/13 Javascript
JavaScript改变HTML元素的样式改变CSS及元素属性
2013/11/12 Javascript
js获取url中的参数且参数为中文时通过js解码
2014/03/19 Javascript
js Calender控件使用详解
2015/01/05 Javascript
jQuery实现购物车计算价格功能的方法
2015/03/25 Javascript
js实现控制textarea输入字符串的个数,鼠标按下抬起判断输入字符数
2016/10/25 Javascript
JS实现重新加载当前页面
2016/11/29 Javascript
通过AngularJS实现图片上传及缩略图展示示例
2017/01/03 Javascript
ES6中Generator与异步操作实例分析
2017/03/31 Javascript
vue鼠标悬停事件实例详解
2019/04/01 Javascript
jquery实现垂直无限轮播的方法分析
2019/07/16 jQuery
Layui动态生成select下拉选择框不显示的解决方法
2019/09/24 Javascript
搭建vscode+vue环境的详细教程
2020/08/31 Javascript
Python 比较两个数组的元素的异同方法
2017/08/17 Python
mac安装pytorch及系统的numpy更新方法
2018/07/26 Python
Python数据类型之List列表实例详解
2019/05/08 Python
python实现多进程按序号批量修改文件名的方法示例
2019/12/30 Python
基于python-pptx库中文文档及使用详解
2020/02/14 Python
Python3爬虫里关于代理的设置总结
2020/07/30 Python
python代码实现猜拳小游戏
2020/11/30 Python
唤醒头发毛囊的秘密武器:Grow Gorgeous
2016/08/28 全球购物
杭州SQL浙江浙大网新恩普软件有限公司
2013/07/27 面试题
《小猫刮胡子》教学反思
2014/02/21 职场文书
纠风工作实施方案
2014/03/15 职场文书
秋天的怀念教学反思
2014/04/28 职场文书
商业企业管理专业求职信
2014/07/10 职场文书
软件测试专业推荐信
2014/09/18 职场文书
农村文化建设标语
2014/10/07 职场文书
实习证明格式范文
2015/06/16 职场文书
《山中访友》教学反思
2016/02/24 职场文书
JS不要再到处使用绝对等于运算符了
2021/04/30 Javascript
Python编程根据字典列表相同键的值进行合并
2021/10/05 Python
Win11筛选键导致键盘失灵怎么解决? Win11关闭筛选键的技巧
2022/04/08 数码科技
Elasticsearch 聚合查询和排序
2022/04/19 Python