B/S端开发工具DevExtreme Angular控件 - 常见功能

DevExtreme v21.1.5最新版下载

服务器端渲染

服务器端渲染 (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 | 下载试用

DevExtreme拥有高性能的HTML5 / JavaScript小部件集合,使您可以利用现代Web开发堆栈(包括React,Angular,ASP.NET Core,jQuery,Knockout等)构建交互式的Web应用程序。从Angular和Reac,到ASP.NET Core或Vue,DevExtreme包含全面的高性能和响应式UI小部件集合,可在传统Web和下一代移动应用程序中使用。 该套件附带功能齐全的数据网格、交互式图表小部件、数据编辑器等。


DevExpress技术交流群4:715863792      欢迎一起进群讨论

更多DevExpress线上公开课、中文教程资讯请上中文网获取

上一篇:「B/S端开发」DevExtreme初级入门教程 - 用模板生成一个应用


下一篇:B/S端开发工具DevExtreme应用程序模板(四) - 配置主题