angular - 在 TypeScript,中,Angular 如何使用 momentjs

  显示原文与译文双语对照的内容
138 4

我有一个 Angular 5库项目,我想使用 momentjs 版本 2.20.1

我跟踪了关于如何为TypeScript安装的moment文档,并且大多数情况下一切正常。当我使用ng test测试我的库时,我没有任何问题,但是当我尝试使用npm run build打包lib时,我得到了

Cannot call a namespace ('moment ')

当使用import * as moment from 'moment';我得到了

moment has no default export.

当使用import moment from 'moment';设置"allowSyntheticDefaultImports": true

如何正确安装和使用 momentjs

时间:原作者:0个回答

95 1

试试。

import * as moment_ from 'moment';
const moment = moment_;

请参见 https://github.com/jvandemo/generator-angular2-library/issues/221

原作者:
73 0

如果要使用通用transform pipe方法,请使用:

import { DateFormatPipe } from"angular2-moment";
constructor(public dfp: DateFormatPipe) { }
var date = this.dfp.transform(value, 'DD/MM/YYYY');
原作者:
69 0

我通过导入带有( 感谢 @adejones )的moment 解决了它。

import * as momentNs from 'moment';
const moment = momentNs;

这导致了成功构建。但我有一个错误

moment is not a function

使用其他 Angular 5应用程序时使用我的库。我通过加法来解决那个问题

"lib": {
"externals": {
"moment":"moment"
 }
}

在 Angular 5库中添加到 ng-package.json 并添加

"dependencies": {
"moment":"2.20.1"
}

到我的Angular 5应用程序的package.json

原作者:
74 4

https://github.com/moment/moment/issues/2608#issuecomment-170739817

正如felix在这里提到的 - 用于TypeScript

import moment from 'moment/src/moment';
原作者:
...