2016-04-27 51 views
5

我想在我的打字稿項目中使用的時刻,但是當我用線,導入瞬間變成打字稿項目

import moment from 'moment'; 

我得到的錯誤:

'node_modules/moment/moment' has no default export.

我也試過,

import moment from 'moment/src/moment'; 

但後來我得到的錯誤:

'Cannot find module moment/src/moment'.

有沒有人知道這樣做的方式?謝謝。

+1

工作的呢? 'import moment = require('./bower_components/moment/src/moment');'?或者'import moment = module('moment');'? –

+0

請參閱@ Mr.Polywhirl的回答,「'node_modules/moment/moment'沒有默認導出。」意味着腳本不是模塊 – Ozrix

+0

當我嘗試導入moment = module('moment')時,它給出錯誤「Can not find namespace'module'」。我應該爲此包括一些東西嗎?當我嘗試第一段代碼時(我正在使用node_modules),出現錯誤「Can not find module'../node_modules/moment/src/moment'」。 – user1950599

回答

10

正確的語法是:

import * as moment from 'moment'; 
+0

真棒,這工作,我得到它在vscode它intellisense。是否可以在界面中使用片刻類型?例如。 導出接口示例{ date:moment; }; 上面的代碼給我錯誤'無法找到名稱時刻'。 – user1950599

+1

您可能需要使用'moment.Moment'。例如,'{date:moment.Moment;}' –

+0

是的,它看起來像是有效的。謝謝。 – user1950599

0

我採用了棱角分明^ 5.0

我用steps provided in the docs並取得時刻的工作是這樣的:

import * as moment from 'moment'; 

... 

moment: any; 

constructor() { 
    this.moment = moment(); 
}