博客
关于我
error TS1192: Module ‘“fs“‘ has no default export.
阅读量:258 次
发布时间:2019-03-01

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

出现这个错误的原因是:

fs模块没有默认导出。事实上,fs模块的确没有默认导出。因为fs是遵循cjs规范写的。即类似于这种导出:

module.exports = fs = {   	readFile,	readFileSync,	...}

而如果直接使用

import fs from 'fs'

就会导致出现标题中的错误(TS编译情况下)。

固导包的时候需要使用如下的方法:

import * as fs from 'fs'

看起来有些麻烦,事实上,如果尝试使用babel进行编译(不是tsc),就不会出现这个问题。因为babel会特殊处理这种情况。其实typescriot可以实现和babel一样效果。但默认typescript可能未开启的这个功能的。此时只需要设置开启即可

{     "compilerOptions": {     	"esModuleInterop": true  }}

值得注意的,开启之后会改变默认导包的方式,项目中所有的默认导入都会受到影响。

更多深入理解和源码解读,可以参考

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

你可能感兴趣的文章
APP开发,公司需要具备哪些条件才能成为佼佼者?
查看>>
汽车后市场,小程序为何独占鳌头
查看>>
宠物行业蓝海,APP如何突出重围?
查看>>
短视频小程序,互联网新风口
查看>>
彻底弄懂Python标准库源码(一)—— os模块
查看>>
实用软件推荐(一)——自动更换壁纸 (Dynamic theme)
查看>>
从零开始免费搭建自己的博客(七)——迁移 CSDN 博客到个人博客站点
查看>>
RF新手常见问题总结--(基础篇)
查看>>
spring框架读取json文件为字符串 推荐第一种
查看>>
SpringBoot配置文件中的值获取
查看>>
Java实现压缩与解压
查看>>
Mybatis-plus代码生成器模板(MySQL数据库)
查看>>
使用redis管理Mybatis的二级缓存
查看>>
购物车的实现及使用redis存储购物车数据
查看>>
使用redis管理Mybatis-Plus的二级缓存
查看>>
Spring Boot常用的maven依赖
查看>>
Mybatis中的SQL语句等于、不等于和模糊查询的语法
查看>>
用xacro给自己的ROS小车编写模型
查看>>
使用 github 搜索
查看>>
.net core 中使用 EFcore做ORM
查看>>