mobile wallpaper 1
mobile wallpaper 2
mobile wallpaper 3
mobile wallpaper 4
165 字
1 分钟
TypeScript自动添加.default
2021-03-17

问题#

在TypeScript中默认引用了没有export default的npm模块(使用了commonJS规范的第三方库,使用export = 导出,详见文档

import moment from 'moment';

并照如下方式使用

const now = moment();
const targetDate = moment(time);

转换的js语法为如下

var now = moment_1.default();
var targetDate = moment_1.default(time);

由于全局变量 moment 中不存在 default 属性,报错

原因#

import moment from 'moment';

此行代码意味着从模块中导入默认导出并将其绑定到本地名称
TypeScript按要求执行,并访问模块对象的默认属性
但使用commonJs导出的包不存在default属性,因此报错

解决方法#

针对使用commonJs导出的包,使用如下方式导入

import * as moment from 'moment';
// 推荐方法
import moment = require('moment');

参考

分享

如果这篇文章对你有帮助,欢迎分享给更多人!

TypeScript自动添加.default
https://marrydream.top/posts/web前端/typescript自动添加default/
作者
茉铃
发布于
2021-03-17
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

目录