应用启动 (App Start)
启动 flexue app
// 导入入口方法;
import { runApp } from "flexue";
// 导入样式;
import "flexue/style.css";
// 导入当前应用的组件;
import TestComponent from "./components/testcomponent.vue";
runApp(
// 挂载应用入口的 HTML 元素的 id;
"#app",
// 应用配置;
{
// ...
title: "我的应用",
// 应用入口组件;
// entry: myApp,
},
// 初始化函数(initializer);
// appContext : flexue 应用上下文; vueApp : vue app 对象;
(appContext, vueApp) => {
// 注册应用组件;
// vueApp.component("x-test", TestComponent);
}
);
入口函数 (runApp)
runApp函数的声明
/**
* 运行一个 flexue 应用;
*
* @param {String} mountedElementId 挂载应用入口的 HTML 元素的ID;
* @param {{ title, logo, entry }} appConfig 应用配置选项;
* @param {(appContext, vueApp)=>{}} initializer 初始化函数;
*
* @returns 返回创建的 app 实例(同时也是一个 vue app 实例);
*/
function runApp(mountedElementId, appConfig = {}, initializer) {
//....
}
应用配置 (App Config)
// 应用配置 appConfig;
{
// 应用标题;非必选;
// 由默认的入口组件呈现;
// 后端的 galaxyService 提供的应用元数据设置的此项属性具有更高优先级,可覆盖此选项;
title,
// 应用图标;非必选;
// 由默认的入口组件呈现;
// 后端的 galaxyService 提供的应用元数据设置的此项属性具有更高优先级,可覆盖此选项;
logo,
// 当前应用配置的名称;
profile,
// 应用菜单;非必选;
// 由默认的入口组件呈现;
// 后端的 galaxyService 提供的应用元数据设置的此项属性具有更高优先级,可覆盖此选项;
menu = { menuItems: [] },
// 应用工具栏;非必选;
// 由默认的入口组件呈现;
// 后端的 galaxyService 提供的应用元数据设置的此项属性具有更高优先级,可覆盖此选项;
toolbar = { actions: [] },
/**
* HTTP 相关的配置;
* {
* // 所有 HTTP 请求都统一加入的前缀;例如: /api ;
* pathPrefix,
*
* // 不适用 pathPrefix 选项的例外 url 清单,
* // 清单中的 URL 在请求时不自动加入 pathPrefix 选项指定的前缀;
* prefixExcludedList: []
* }
*/
http,
// 是否采用 galaxy 服务;
// 如果为 true ,则从后端的 galaxy 服务中获取元数据和服务注册信息;
enableGalaxyService = false,
/**
* galaxy 服务配置选项;
* {
*
*
* // 服务注册元数据类型; 目前只支持一种:SWAGGER_V2 ;
* serviceRegisterType,
*
* // 服务元数据的地址;
* serviceMetadataUrl,
* }
*/
galaxyService,
/**
* 应用元数据的地址;
* galaxyAppMetadataUrl;
* 默认: "/application/metadata";
*/
galaxyAppMetadataUrl,
/**
* 静态的galaxy应用元数据;
*/
galaxyAppMetadata,
//----------------- 组件相关 -----------------
// 入口组件;可选;
// 未设置时将采用默认的入口组件;
entry,
// 入口组件属性;可选;
entryProps,
// 路由视图列表;当使用了 x-framework 或 x-page 组件时,视图将呈现在其中的视口区域;
views,
// 默认视图,即首次打开时呈现的视图;
defaultView,
// 默认视图,即首次打开时呈现的视图;
view404,
/**
* 组件安装;
*
* 以 vueApp.use(componentsInstaller) 方式注册 ;
*
* 调用时机比 libs 早;
*/
componentsInstaller,
/**
* 要注册的库的数组;
*
* 每一个库 lib 都会被自动地以 vueApp.use(lib) 方式注册;
*/
libs
}
初始化回调 (Initializer)
/**
* 初始化函数;
* appContext : flexue 应用上下文;只读对象;包含 flexue 应用运行的信息和基础对象;
* vueApp : vue 的 app 对象,由 vue 提供的 createApp 函数创建;
*/
function (appContext, vueApp) : Promise {
// 注册应用组件;
// vueApp.component("x-test", TestComponent);
}




