midwayjs 动态加载组件的一种方法
midwayjs 的组件特性是一个很不错的特性,可以让我们开发的应用模块化比较强,一般我们都是明确指定加载的组件的
实际上通过简单的动态加载也是一个很不错的玩法,可以实现动态化,以下简单说明下玩法
核心点
就是通过require 动态导入,让后作为参数传递就行了
参考玩法
就是一个简单示例,实际可以通过npm 或者配置文件解决
- 加载模块的处理
// 通过require 加载模块
function loadComponent() {
// custom component load logic
let bookComponent = require("midway-custom-component")
let bookComponentv2 = require("midway-custom-componentv2")
return [bookComponent,bookComponentv2];
}
- 导入模块 configuration.ts
@Configuration({
imports: [
koa,
...loadComponent(),
说明
以上是一个简单的玩法,实际上loadComponent 可以通过配置文件,或者其他参数动态传递,这样灵活性就更方便了,以上使用了ts 不太推荐的require玩法,实际上import 也是可以的,但是import 实时异步的,对于当前环境来说并不太友好,import-sync 是一个不错的选择
参考资料
https://midwayjs.org/docs/component_development
浙公网安备 33010602011771号