VTJ 低代码设计器支持了应用增强
应用增强
应用增强是指给低代码的应用扩展功能。如增加全局的状态、样式、配置等应用级的功能。
注意: 该功能仅支持通过官方脚手架(npm create vtj@latest)创建的本地开发项目,在线方式不支持。
开启应用增强
开启该功能需要完成以下三个步骤:
-
在项目src目录下创建文件
enhance.ts
。 这是应用增强插件的默认入口文件,可以配置为其他名称或路径,无特殊需求建议采用配置。 文件的代码需要导出 Vue Plugin。tsimport type { App } from 'vue'; import type { Provider } from '@vtj/renderer'; // 可以在此引用scss文件,需要用到的工具库,依赖等 export default function (app: App, provider: Provider) { // 应用增强代码 }
-
在
main.ts
文件导入enhance
, 并传递给createProvider
方法。ts// 省略了其他代码 import enhance from './enhance'; const { provider, onReady } = createProvider({ // 省略了其他参数 enhance });
-
配置
vite.config.ts
开启设计器支持tsimport { createViteConfig } from '@vtj/cli'; import { createDevTools } from '@vtj/local'; export default createViteConfig({ proxy, plugins: [ createDevTools({ // 开启增强 enhance: true }) ] });
通过以上配置, 启动开发环境 npm run dev
后,在源码运行、设计器视图、预览视图都加载了增强的代码。同时支持热更新。可以利用增强的代码对应用进行个性化的全局配置。
应用示例
给应用增加全局样式
需要给应用添加全局样式,只需在 enhance.ts
引入 .scss
文件即可。如
import type { App } from 'vue'; import type { Provider } from '@vtj/renderer'; // 引入样式文件 import './style/global.scss'; export default function (app: App, provider: Provider) {}
网络请求拦截
在实际项目开发时,您可能需要给请求头增加token或对响应进行错误提示等,这时,你可能需要用到请求拦截,通过应用增强可以方便处理。
import type { App } from 'vue'; import type { Provider } from '@vtj/renderer'; export default function (app: App, provider: Provider) { provider.adapter.request.useRequest((config) => { // 注入请求头 config.headers.Token = '123456'; return config; }); provider.adapter.request.useResponse((res) => { // 响应拦截处理 return res; }); }
接入Pinia
Pinia等其他工具库也可以增强文件中添加
import type { App } from 'vue'; import type { Provider } from '@vtj/renderer'; import { createPinia, defineStore } from 'pinia'; const pinia = createPinia(); const useCounterStore = defineStore('counter', { state: () => ({ count: 0 }), getters: { doubleCount: (state) => state.count * 2 } }); export default function (app: App, provider: Provider) { app.use(pinia); //通过 provide 提供 app.provide('counter', useCounterStore()); // 也可以挂载到 globalProperties app.config.globalProperties.counter = useCounterStore(); }
用 app.provide
的方式,在低代码页面需要定义注入才可以读取到store
挂载到 globalProperties
的可以直接 通过上下文读取,如 this.counter
个性化配置
vite.config.ts 的 enhance 默认配置就是最便捷的使用方式,如需要自定义入口文件,可以参考配置
export interface EnhanceOptions { // 入口文件路径 entry?: string; // umd 导出名称 name?: string; // umd 产物文件名 fileName?: string; // 外部化的依赖 external?: string[]; // 外部依赖对应的全局名称 globals?: Record<string, string>; // 产物文件生成目录 outDir?: string; }
VTJ源码仓库:https://gitee.com/newgateway/vtj

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Angular v20 正式发布
Angular v20 已正式发布,这次更新带来了稳定的响应式 API、实验性异步状态管理工具、无 Zone.js 的变更检测预览版,以及多项开发体验优化。 新版本亮点如下: 稳定 API,如effect、linkedSignal、toSignal、增量水合、路由级渲染模式配置以及将 zoneless 提升至开发者预览版 通过 Angular DevTools 改进调试功能,并与 Chrome 合作,在 Chrome DevTools 中直接进行自定义 Angular 报告 通过编码风格指南更新、类型检查和 HostBindings 的语言服务支持、模板中支持 untagged 模板字面量表达式、默认模板热模块替换等,提升开发者体验。 GenAI 开发方面的进步,包括llms.txt和 angular.dev 指南和视频,用于构建生成式 AI 应用。 启动对 Angular 官方吉祥物的评论请求。 详情查看:https://blog.angular.dev/announcing-angular-v20-b5c9c06cf301 下载地址:https://github.com/angu...
- 下一篇
【Java orm 框架对比】十四新增 gaarason/database-all 框架对比
本次更新内容如下 •新增 gaarason/database-all框架对比 •一万条数据以内与其他框架保持一致 •数据量超过十万时存储与查询性能还需要优化 orm框架使用性能比较 测试方法拉取代码,配置数据库账号信息,直接启动,然后打开控制台页面通过页面点击测试 比较mybatis-plus、lazy、sqltoy、mybatis-flex、easy-query、mybatis-mp、jpa、dbvisitor、beetlsql、dream_orm、wood、hammer_sql_db、原生jdbc、qdbc、gaarason/database-all 操作数据 环境: idea jdk17 springboot3.0.7 mysql8.0 测试条件常规对象 orm 框架 是否支持xml 是否支持 Lambda 对比版本 编码方式 注意事项 mybatis ☑️ ☑️ 3.5.4 lambda +xml 优化 ------------------------------ sqltoy ☑️ ☑️ 5.2.98 lambda -------------------------...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8编译安装MySQL8.0.19
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Red5直播服务器,属于Java语言的直播服务器
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2配置默认Tomcat设置,开启更多高级功能