使用Typescript 1.8和ES6的时刻

时间:2016-03-23 15:40:56

标签: typescript typescript1.8

我通过打字安装了片刻定义文件:

typings install moment --save

到目前为止一直很好,但是当我按以下方式导入定义时:

import * as moment from 'moment';

所有编译都很好,但是当我运行我的应用程序时,我收到一个运行时错误:

Uncaught TypeError: moment is not a function

应该如何导入时刻库?

如果我改为使用:

const moment = require('moment');

一切正常,但我失去了所有的类型安全。

我的tsconfig.json

{
  "compilerOptions": {
    "jsx": "preserve",
    "target": "ES6",
    "declaration": false,
    "module": "es2015",
    "experimentalDecorators": true,
    "sourceMap": true,
    "noLib": false,
  },
  "exclude": [
    "node_modules",
    "meteor_core",
    "typings/browser",
    "typings/browser.d.ts"
  ]
}

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

我正在使用VSCode测试您的示例,并且我注意到您的tsconfig.json有额外的,

" noLib":false,

我已将其删除,重启VSCode并使用以下工具:

import * as moment from 'moment';
console.log(moment().startOf('day'));