npm package: @ibiz-template/vue3
Description: vue3代码生成器
Author: ibiz
Latest version: 1.34.2

## 项目简介

此项目基于@ibizlab/template 封装开发，使用 handlerbas.js 引擎对 Ibiz 平台生成的模型进行解析，同时结合基础文件，共同构建生成基于 Vite + Vue + Typescript 的 Vue3 项目。

## 使用

1、使用提供的 package.json 内容，在指定的文件夹下执行`yarn install`安装依赖

2、修改 package.json 中的脚本，指向本地的模型路径地址

```json
"generate": "template generate -m D:/Project/DemoSys/demo-boot/src/main/resources/static/remotemodel -o ./ --app Web --dev",
```

3、执行脚本`yarn code`，生成项目代码

4、修改代理地址，通过`yarn dev`启动项目

## 二次开发

如果需要对当前项目中的发布逻辑进行调整，或增加特殊的发布文件，则用户可以本地构建 template 目录，在其中放置模板文件(.hbs)，同时修改 package.json 中的 generate 脚本，增加`[-t <模板地址>]`选项

```json
"generate": "template generate -m D:/Project/DemoSys/demo-boot/src/main/resources/static/remotemodel -t ./template -o ./ --app Web --dev",
```

## 备注

package.json 内容

```json
{
	"name": "web",
	"private": true,
	"version": "0.0.0",
	"type": "module",
	"scripts": {
		"copy": "node copy.cjs",
		"lint": "eslint . --ext .vue,.js,.ts,.jsx,.tsx --fix",
		"format": "prettier --write ./*.{ts,js,cjs} ./**/*.{vue,ts,json} ./src/**/**/*.{vue,ts} ./src/**/**/**/*.{vue,ts}",
		"dev": "npm run copy && vite --mode development",
		"build": "npm run copy && vue-tsc --noEmit && vite build",
		"preview": "vite preview",
		"fix-memory-limit": "cross-env LIMIT=8102 increase-memory-limit",
		"generate": "template generate -m ../model -o ./ --app Web --dev",
		"code": "yarn && npm run generate && npm run format",
		"test": "vitest",
		"coverage": "vitest run --coverage"
	},
	"dependencies": {
		"@amap/amap-jsapi-loader": "^1.0.1",
		"@ant-design/colors": "^6.0.0",
		"@ant-design/icons-vue": "^6.1.0",
		"@fullcalendar/core": "^5.11.2",
		"@fullcalendar/daygrid": "^5.11.2",
		"@fullcalendar/interaction": "^5.11.2",
		"@fullcalendar/list": "^5.11.2",
		"@fullcalendar/timegrid": "^5.11.2",
		"@fullcalendar/vue3": "^5.11.2",
		"@kangc/v-md-editor": "^2.3.15",
		"@types/lodash": "^4.14.186",
		"@vue/shared": "^3.2.33",
		"ant-design-vue": "^3.2.12",
		"axios": "^0.26.1",
		"date-fns": "^2.29.3",
		"dexie": "^3.2.2",
		"echarts": "5.0.2",
		"file-saver": "2.0.5",
		"font-awesome": "^4.7.0",
		"lodash": "^4.17.21",
		"mavon-editor": "^2.9.1",
		"pinia": "2.0.22",
		"qs": "6.11.0",
		"qx-util": "0.4.1",
		"ramda": "^0.28.0",
		"vue-amap": "^0.5.10",
		"tinymce": "5.7.1",
		"vue": "^3.2.37",
		"vue-i18n": "^9.2.2",
		"vue-router": "^4.0.14",
		"vuedraggable": "^4.1.0",
        "luckyexcel": "^1.0.1",
		"xlsx": "0.16.9"
	},
	"devDependencies": {
		"@ibiz-template/vue3": "^1.0.15",
		"@types/echarts": "^4.9.7",
		"@types/node": "^17.0.25",
		"@types/prismjs": "^1.26.0",
		"@types/qs": "^6.9.7",
		"@types/ramda": "^0.28.15",
		"@typescript-eslint/eslint-plugin": "^5.46.0",
		"@typescript-eslint/parser": "^5.46.0",
		"@vitejs/plugin-vue": "^3.1.0",
		"@vitest/coverage-c8": "^0.26.2",
		"@zougt/vite-plugin-theme-preprocessor": "^1.4.6",
		"cross-env": "^7.0.3",
		"eslint": "^8.29.0",
		"eslint-config-prettier": "^8.5.0",
		"eslint-plugin-prettier": "^4.2.1",
		"eslint-plugin-vue": "^9.8.0",
		"increase-memory-limit": "^1.0.7",
		"jsdom": "^20.0.3",
		"cp-file": "9.1.0",
		"glob": "^8.0.3",
		"less": "^4.1.2",
		"prettier": "^2.8.1",
		"typescript": "^4.6.4",
		"unplugin-auto-import": "^0.11.2",
		"unplugin-vue-components": "^0.22.11",
		"vite": "^3.1.0",
        "vite-plugin-html": "^2.1.1",
		"vite-plugin-progress": "^0.0.6",
		"vitest": "^0.26.2",
        "@vue/test-utils": "^2.3.1",
		"vue-tsc": "^1.0.9"
	}
}
```