[英]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.