的moment.js
類型定義中聲明的namespace
:如何在打字稿定義文件「進口」命名空間
declare namespace moment {
interface Moment {
...
爲了聲明Moment
類型的對象,我做的:
let myMoment: moment.Moment;
我的問題是 - 有沒有辦法「導入」moment
命名空間,所以我可以避免每次重複?非常像C#。
的moment.js
類型定義中聲明的namespace
:如何在打字稿定義文件「進口」命名空間
declare namespace moment {
interface Moment {
...
爲了聲明Moment
類型的對象,我做的:
let myMoment: moment.Moment;
我的問題是 - 有沒有辦法「導入」moment
命名空間,所以我可以避免每次重複?非常像C#。
我不知道是否有一種方法,以「進口」整個命名空間,但是你可以做一個項目,通過項目的基礎是這樣的:
type Moment = moment.Moment
如果你可以使用ES6風格進口,那麼你可以簡單地做下面的事情。
import { Moment, Duration, OrAnyOtherExportedMemberFromMoment } from "moment";
let myMoment: Moment;
let myDuration: Duration;
如果您需要這在你的類型定義文件從你的源文件:
隨着compilerOptions.declaration
設置爲true
在tsconfig.json
,並使用gulp-typescript(搜索tsResult.dts.pipe
),您可以生成類型來自您的源文件的定義。
希望這會有所幫助。