首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >进口力矩-时区和力矩范围与webpack (Babel/ES6)

进口力矩-时区和力矩范围与webpack (Babel/ES6)
EN

Stack Overflow用户
提问于 2015-06-03 12:52:32
回答 7查看 32.9K关注 0票数 22

我用Webpack和巴贝尔装载机。按照ES6标准编写。我已经安装了瞬时区和力矩范围与npm。

这两个插件都是moment.js插件,它们都依赖于包,并导出一个单独的库。所以当我这么做

代码语言:javascript
复制
import moment from 'moment-timezone';
import moment2 from 'moment-range';

然后,我得到了两个单独的的引用。

我如何设置它,以便我可以使用带时区和范围函数的

谢谢!

EN

回答 7

Stack Overflow用户

发布于 2015-06-04 00:33:08

Docs显示了这方面的CommonJS语法:

代码语言:javascript
复制
var moment = require('moment');
require('moment-range');
require('moment-timezone');

// moment() now has both range and timezone plugin features

在ES6中:

代码语言:javascript
复制
import moment from 'moment';
import 'moment-range';
import 'moment-timezone';

编辑

既然moment-timezone没有扩展现有的导入,而是扩展了moment本身,那么这又如何呢?

代码语言:javascript
复制
import moment from 'moment-timezone';
import 'moment-range';
票数 42
EN

Stack Overflow用户

发布于 2016-06-09 14:14:57

我在不同的包中遇到了这个问题:moment-timezonefrozen-moment。所有邪恶的根源是在树的不同部分有两个moment依赖项。在我的例子中,moment就在node_modules下面,也在frozen-momentnode-modules中,这意味着moment-timezonefrozen-moment使用的是不同的moment实例。

检查是否使用的包版本相互兼容,以便moment-range不需要获取不同版本的moment。当您正确地拥有它时,您应该能够这样做:

代码语言:javascript
复制
import moment from 'moment';
import momentTimezone from 'moment-timezone';
import momentRange from 'moment-range';

console.log(moment === momentTimezone === momentRange); // logs 'true'

请记住,这只是为了测试它的正确设置,您应该在glortho的回答中使用它:

代码语言:javascript
复制
import moment from 'moment';
import 'moment-timezone';
import 'moment-range';
票数 11
EN

Stack Overflow用户

发布于 2017-09-19 10:09:47

上述所有的解决办法对我都不起作用,我不得不求助于这一点:

代码语言:javascript
复制
import moment from 'moment';
window.moment = moment;
import {extendMoment} from 'moment-range';
extendMoment(window.moment);

有点烦人但很管用。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30620684

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档