簡體   English   中英

如何在Typescript中使用Requirejs中的模塊/類

[英]How to use Modules/Classes in Typescript with Requirejs

我正在嘗試從MS CRM中開始使用RequireJs,但我對如何將Require JS與我當前的TypeScript文件一起使用感到困惑。

目前,CRM中的每個表單都有自己的Typescript文件,看起來像這樣:

// File Path .\_Contoso\scripts\Contact.ts
module Contoso {
    export class Contact {

        private static instance = new Contact();

        //#region Form Properties

        static fields = { }

        //#endregion Form Properties

        //#region onLoad / onSave

        static onLoad(): void {
            Contact.instance.onLoad();
        }

        private onLoad = (): void => { ...}

        static onSave(): void { Contact.instance.onSave(); }

        private onSave = (): void => { ... }

        //#endregion onLoad / onSave
    }
}

每個文件可能包含一個或多個公共文件/類的依賴項:

// File Path .\_Abc\scripts\CommonLib.ts
module ABC_Corp {
    export class CommonLib {
        ... 
    }
}

// File Path .\_Abc\scripts\RestLib.ts
module ABC_Corp {
    export class RestLib {
        ... 
    }
}


// File Path .\_Abc\scripts\RoleLib.ts
module ABC_Corp {
    export class RoleLib {
        ... 
    }
}

這些文件目前都存在於VS網站項目中。 每當我保存ts文件時,它會生成JS並將這些文件部署到CRM。

現在,輸入RequireJS。 由於CRM for JS文件執行中唯一受支持的鈎子是“OnLoad”和“onSave”事件,我創建了一個Contoso.Require文件,它將從CRM OnLoad函數調用中讀取require配置,然后調用相應的表單腳本上的onLoad方法。 這一切都是為了加載主窗體JS,並調用onLoad函數。 我的問題是我必須在CRM OnLoad事件中定義所需的JS文件,而不是讓每個文件定義它所需的文件。 如何定義每個類/文件所需的文件?

而不是讓每個文件定義它所需的文件。

你仍然需要這樣做。 因為這將推動訂購

但現在使用import/export格式而不是使用module (現在稱為命名空間)來使用真正的模塊

更多

https://basarat.gitbooks.io/typescript/content/docs/project/modules.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM