关于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 相关文章推荐
javascript preload&lazy load
May 13 Javascript
JS中引用百度地图并将百度地图的logo和信息去掉
Sep 29 Javascript
setInterval与clearInterval的使用示例代码
Jan 28 Javascript
js读写json文件实例代码
Oct 21 Javascript
jQuery中eq()方法用法实例
Jan 05 Javascript
跟我学习javascript解决异步编程异常方案
Nov 23 Javascript
在html中引入外部js文件,并调用带参函数的方法
Oct 31 Javascript
快速实现JS图片懒加载(可视区域加载)示例代码
Jan 04 Javascript
原生JavaScript实现的简单省市县三级联动功能示例
May 27 Javascript
微信小程序页面跳转功能之从列表的item项跳转到下一个页面的方法
Nov 27 Javascript
Vue.js 中 axios 跨域访问错误问题及解决方法
Nov 21 Javascript
Vue+Koa2+mongoose写一个像素绘板的实现方法
Sep 10 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二维数组排序的函数分享
2014/01/17 PHP
检查用户名是否已在mysql中存在的php写法
2014/01/20 PHP
实例讲解PHP面向对象之多态
2014/08/20 PHP
php从数据库中读取特定的行(实例)
2017/06/02 PHP
PHP pthreads v3下同步处理synchronized用法示例
2020/02/21 PHP
增强的 JavaScript 的 trim 函数的代码
2007/08/13 Javascript
jQuery插件expander实现图片翻转特效
2015/05/21 Javascript
Node.js+Express配置入门教程
2016/05/19 Javascript
分享jQuery网页元素拖拽插件
2020/12/01 Javascript
js实现刷新页面后回到记录时滚动条的位置【两种方案可选】
2016/12/12 Javascript
vue-router跳转页面的方法
2017/02/09 Javascript
基于JQuery的购物车添加删除以及结算功能示例
2017/03/08 Javascript
详解vue.js2.0父组件点击触发子组件方法
2017/05/10 Javascript
mui框架 页面无法滚动的解决方法(推荐)
2018/01/25 Javascript
Vue之Vue.set动态新增对象属性方法
2018/02/23 Javascript
解决vue项目使用font-awesome,build后路径的问题
2018/09/01 Javascript
详解在vue-cli中使用graphql即vue-apollo的用法
2018/09/08 Javascript
基于Vue 服务端Cookies删除的问题
2018/09/21 Javascript
JS数组中对象去重操作示例
2019/06/04 Javascript
jquery弹窗时禁止body滚动条滚动的例子
2019/09/21 jQuery
深入浅析JavaScript中的in关键字和for-in循环
2020/04/20 Javascript
Node.js path模块,获取文件后缀名操作
2020/11/07 Javascript
使用node-media-server搭建一个简易的流媒体服务器
2021/01/20 Javascript
Pycharm配置远程调试的方法步骤
2018/12/17 Python
Python在终端通过pip安装好包以后在Pycharm中依然无法使用的问题(三种解决方案)
2020/03/10 Python
Pymysql实现往表中插入数据过程解析
2020/06/02 Python
Python3通过chmod修改目录或文件权限的方法示例
2020/06/08 Python
非凡女性奢华谦虚风格:The Modist
2017/10/28 全球购物
什么情况下你必须要把一个类定义为abstract的
2013/01/06 面试题
党课学习思想汇报
2014/01/02 职场文书
应届生求职自荐信范文
2014/04/07 职场文书
教师群众路线教育实践活动个人对照检查材料
2014/11/04 职场文书
2014年办公室文秘工作总结
2014/12/09 职场文书
投诉书范文
2015/07/02 职场文书
vue backtop组件的实现完整代码
2021/04/07 Vue.js
MySQL的安装与配置详细教程
2021/06/26 MySQL