引入第三方库作为新手的我,每次都会出现各种问题,标准比较乱!新技术出现,老的第三方未来的及响应!
moment
由于Moment没有一个默认的export 通常我们会用
import * as _moment from "moment"
复制代码
然而有时候得到的结果,并非我们想要的 比如
import * as BScroll from 'better-scroll';
// 这个时候就会报错了,坑爹啊!
let scroll = new BScroll(**);
复制代码
那么我该怎么办呢!经过多方查找,终于在@angular/material库中的material-moment-adapter找到了我想要的解决方案
import * as _moment from "moment";
import { default as _rollupMoment, Moment } from "moment";
const moment = _rollupMoment || _moment;
复制代码
以此类推
import * as _betterScroll from 'better-scroll';
import { default as _rullupBetterScroll, BetterScroll } from "better-scroll";
const BScroll = _rullupBetterScroll || _betterScroll;
// 现在就可以正常使用了
let scroll = new BScroll(**);
复制代码
也可以这样
import * as _better_scroll from "better-scroll";
const BScroll = (_better_scroll as any).default || _better_scroll;
复制代码
推荐最后一种,个人感觉比较好! 效果是一样的
总结
多看源码总是好的!