要避免不必要的客户端 API 调用的 Aurelia 服务器端渲染,可以按照以下步骤进行:
import { inject } from 'aurelia-framework';
import { HttpClient } from 'aurelia-http-client';
@inject(HttpClient)
export class MyViewModel {
constructor(http) {
this.http = http;
this.data = null;
}
async activate() {
const response = await this.http.get('api/data');
this.data = response.content;
}
}
ssrRenderer.renderToString()
方法。import { ssrRenderer } from 'aurelia';
import { MyViewModel } from './my-view-model';
const viewModel = new MyViewModel();
const html = await ssrRenderer.renderToString(viewModel);
import { Aurelia } from 'aurelia-framework';
import { MyViewModel } from './my-view-model';
const aurelia = new Aurelia();
aurelia.use.standardConfiguration();
aurelia.start().then(() => {
const viewModel = new MyViewModel();
aurelia.setRoot('app', document.body).then(() => {
aurelia.root.viewModel = viewModel;
aurelia.enhance(document.body);
});
});
通过这种方式,在服务器端渲染期间获取和注入数据,可以避免不必要的客户端 API 调用,提高应用程序的性能和响应速度。
下一篇:避免不必要的类声明