我用Webpack和巴贝尔装载机。按照ES6标准编写。我已经安装了瞬时区和力矩范围与npm。
这两个插件都是moment.js插件,它们都依赖于矩包,并导出一个单独的矩库。所以当我这么做
import moment from 'moment-timezone';
import moment2 from 'moment-range';然后,我得到了两个单独的矩的引用。
我如何设置它,以便我可以使用带时区和范围函数的矩?
谢谢!
发布于 2015-06-04 00:33:08
Docs显示了这方面的CommonJS语法:
var moment = require('moment');
require('moment-range');
require('moment-timezone');
// moment() now has both range and timezone plugin features在ES6中:
import moment from 'moment';
import 'moment-range';
import 'moment-timezone';编辑
既然moment-timezone没有扩展现有的导入,而是扩展了moment本身,那么这又如何呢?
import moment from 'moment-timezone';
import 'moment-range';发布于 2016-06-09 14:14:57
我在不同的包中遇到了这个问题:moment-timezone和frozen-moment。所有邪恶的根源是在树的不同部分有两个moment依赖项。在我的例子中,moment就在node_modules下面,也在frozen-moment的node-modules中,这意味着moment-timezone和frozen-moment使用的是不同的moment实例。
检查是否使用的包版本相互兼容,以便moment-range不需要获取不同版本的moment。当您正确地拥有它时,您应该能够这样做:
import moment from 'moment';
import momentTimezone from 'moment-timezone';
import momentRange from 'moment-range';
console.log(moment === momentTimezone === momentRange); // logs 'true'请记住,这只是为了测试它的正确设置,您应该在glortho的回答中使用它:
import moment from 'moment';
import 'moment-timezone';
import 'moment-range';发布于 2017-09-19 10:09:47
上述所有的解决办法对我都不起作用,我不得不求助于这一点:
import moment from 'moment';
window.moment = moment;
import {extendMoment} from 'moment-range';
extendMoment(window.moment);有点烦人但很管用。
https://stackoverflow.com/questions/30620684
复制相似问题