B/S端开发工具DevExtreme Angular控件 - 常见功能
服务器端渲染
服务器端渲染 (SSR) 在服务器上生成静态页面来减少应用程序的加载时间。
SSR 仅用于 angular Universal 应用程序,但对于 DevExtreme 组件,Angular Universal 和普通 Angular 应用程序没有区别。
您可以通过两种方式获得 Angular Universal 应用程序:
- 运行以下命令将 Universal 模块添加到普通的 Angular 应用程序中:
ng generate universal my-app
- 从头开始启动一个通用应用程序并向其添加DevExtreme组件。
注意:DevExtreme Angular组件在SSR模式下不支持在运行时切换主题,您只能使用一个主题。
服务器上的缓存请求
当服务器缓存请求时,DevExtreme组件将使用第一次加载页面时应用的数据呈现,这减少了对服务器的请求数。
要启用此功能:
1. 在 app.module.ts 文件中导入 DxServerTransferStateModule:
app.module.ts
import { DxServerTransferStateModule } from 'devextreme-angular';
@NgModule({
// ...
imports: [
// ...
DxServerTransferStateModule
]
})
export class AppModule { }2. 在 app.server.module.ts 文件中导入 ServerTransferStateModule:
app.server.module.ts
import { ServerModule, ServerTransferStateModule } from '@angular/platform-server';
// ...
@NgModule({
imports: [
AppModule,
ServerModule,
ServerTransferStateModule,
ModuleMapLoaderModule
],
bootstrap: [AppComponent],
})3. 检查 main.ts 文件是否包含以下代码,以确保 AppModule 在服务器端呈现的页面加载后被引导:
main.ts
document.addEventListener('domContentLoaded', () => {
platformBrowserDynamic().bootstrapModule(AppModule)
.catch(err => console.log(err));
});Tree Shaking
Tree shaking移除源代码和库代码的未使用部分,以减少应用程序的下载大小。
如果您仅导入在应用程序中使用的模块,则Tree shaking已经有效。例如,以下导入仅从 devextreme-angular 模块中获取 DxButtonModule:
TypeScript
import { DxButtonModule } from 'devextreme-angular';如果在您的应用程序中未配置tree shaking,请从特定模块而不是主 devextreme-angular 模块导入导出以减少包大小:
TypeScript
import { DxButtonModule } from 'devextreme-angular/ui/button';DevExtreme拥有高性能的html5 / JavaScript小部件集合,使您可以利用现代Web开发堆栈(包括react,Angular,ASP.NET Core,jquery,Knockout等)构建交互式的Web应用程序。从Angular和React,到ASP.NET Core或vue,DevExtreme包含全面的高性能和响应式UI小部件集合,可在传统Web和下一代移动应用程序中使用。 该套件附带功能齐全的数据网格、交互式图表小部件、数据编辑器等。
本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!