Angular 6中的导入力矩

时间:2019-02-22 13:53:50

标签: javascript angular momentjs

我以角度6导入了力矩:

import moment from 'moment'

let formatted = moment(startDate).tz(timezone).format();

这似乎很好用...但是 ng服务会输出以下错误:

Module '"/my/project/node_modules/moment/moment"' has no default export.

好的,我知道这个错误;它说那一刻没有默认导出...但是当我尝试以这种方式导出时:

import { moment } from 'moment'

但是,错误表明时刻实际上是一个对象,而不是一个函数。

比起第一步,它是如何工作的? 我应该如何导入“时刻”?

更新 我还按照其他问题的建议进行了尝试...

import * as moment from 'moment';

但是我得到了以下结果:

ERROR in node_modules/@angular/core/src/render3/ng_dev_mode.d.ts(9,11): error TS2451: Cannot redeclare block-scoped variable 'ngDevMode'.
node_modules/angular-moment-timezone/node_modules/@angular/core/src/render3/ng_dev_mode.d.ts(9,11): error TS2451: Cannot redeclare block-scoped variable 'ngDevMode'.

3 个答案:

答案 0 :(得分:5)

请尝试以下操作导入时刻:

import * as moment from 'moment';

希望有帮助!

答案 1 :(得分:0)

我找到了解决方案...首先我建议review this issue page

  1. 我放弃了 angular-moment-timezone 并开始使用 moment-timezone ,导致ngDevMode错误的原因是angular-moment-timezone程序包中有另一个节点-里面的模块。这是一个糟糕的软件包管理。

  2. I比导入为:

    从*时刻开始导入*; import'moment-timezone';

现在我的代码正在运行...项目也正在构建。

答案 2 :(得分:-3)

您可以使用以下命令直接以角度导入弯矩:-

import * as moment from 'moment';