Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
94 commits
Select commit Hold shift + click to select a range
78b2ace
refactor🎨: 添加 Vue3 升级实施文档,详细说明升级目标、实施阶段及参考资源
wenjianzhang Aug 28, 2025
e5abe22
更新 Vue3 升级实施文档,补充当前进度总结及各阶段完成情况
wenjianzhang Aug 28, 2025
5bf7149
更新依赖项和开发依赖项,提升项目稳定性和性能
wenjianzhang Aug 28, 2025
7af2335
test: 修复 isActive 属性测试,确保异步设置属性后正确渲染
wenjianzhang Aug 28, 2025
76817d3
test: 修复 className 测试,确保异步设置属性后正确渲染
wenjianzhang Aug 28, 2025
1891b96
fix: 修复 parseTime 函数,确保字符串类型时间正确处理特定日期格式
wenjianzhang Aug 28, 2025
f94822e
docs📝: 更新 Vue3 升级实施文档,补充测试与回归阶段的修复详情
wenjianzhang Aug 28, 2025
2cba110
feat: 完成Vue 3核心依赖升级
wenjianzhang Aug 28, 2025
76872e4
feat: 更新 ESLint 配置以支持 ECMAScript 2020 和 Vue 3
wenjianzhang Aug 28, 2025
0e26340
feat: 更新 vue.config.js,添加插件配置并禁用 progress 插件以解决兼容性问题
wenjianzhang Aug 28, 2025
673945e
feat: 使用 Vue Router 4 更新路由配置,改用 createRouter 和 createWebHistory 方法
wenjianzhang Aug 28, 2025
25fa2cd
feat: 使用 createStore 替代 Vuex.Store 创建 Vuex 存储,简化代码结构
wenjianzhang Aug 28, 2025
67083df
feat: 重构 main.js,迁移至 Vue 3 及 Element Plus,简化全局方法和组件注册
wenjianzhang Aug 28, 2025
49b93a3
feat: 完成Vue 3核心文件适配和组件重构
wenjianzhang Aug 28, 2025
a514cda
fix: 修复Vue 3兼容性问题
wenjianzhang Aug 28, 2025
af92a13
feat: 添加Vite支持,重构项目配置,优化构建流程
wenjianzhang Sep 16, 2025
e2d0bff
feat: 删除不再需要的 index.html 文件,简化项目结构
wenjianzhang Sep 16, 2025
b2c4cf4
feat: 新增 test-vue3.js 文件,测试 Vue 3 的 createApp 功能
wenjianzhang Sep 16, 2025
5450ca8
feat: 更新个人信息和基本资料卡片的模板语法,修复组件导入路径
wenjianzhang Sep 16, 2025
52bfed2
feat: 修复登录组件的对话框绑定,更新组件导入路径,优化样式重置
wenjianzhang Sep 16, 2025
2b26009
feat: 修复401页面对话框绑定,更新组件名称为AppPage401
wenjianzhang Sep 16, 2025
808765e
feat: 优化代码生成界面的按钮绑定,修复预览对话框的状态管理,调整样式
wenjianzhang Sep 16, 2025
a21c791
feat: 更新组件导入路径,确保正确引用 PanThumb 和 GithubCorner 组件
wenjianzhang Sep 16, 2025
905e342
feat: 新增index.html文件,包含加载动画和基本页面结构
wenjianzhang Sep 16, 2025
b66358f
feat: 关闭多词组件名称规则,允许使用单词组件名称
wenjianzhang Sep 16, 2025
2f88c43
feat: 优化vite配置,调整代码结构,确保更清晰的配置管理
wenjianzhang Sep 16, 2025
057ffa4
feat: 将百度统计脚本移入mounted生命周期钩子,优化代码结构
wenjianzhang Sep 16, 2025
b581e2a
feat: 更新组件导入路径,确保正确引用App.vue和其他组件
wenjianzhang Sep 16, 2025
1edab77
feat: 将element-ui的Message替换为element-plus的ElMessage,确保一致性
wenjianzhang Sep 16, 2025
460089d
feat: 将模块导出方式从CommonJS改为ES模块,提升代码兼容性
wenjianzhang Sep 16, 2025
c17d1dc
feat: 添加joinPath方法以优化路径连接逻辑,简化代码结构
wenjianzhang Sep 16, 2025
4cb8d2d
feat: 更新主题选择器中的Element UI版本号,适配Element Plus
wenjianzhang Sep 16, 2025
147d0b2
feat: 修改SvgIcon导入路径并重构为Vue 3注册函数
wenjianzhang Sep 16, 2025
51eea19
feat: 修正RightPanel导入路径并更新样式文件导入方式
wenjianzhang Sep 16, 2025
31df5e1
feat: 更新组件导出路径,添加文件扩展名以确保正确导入
wenjianzhang Sep 16, 2025
36fe119
feat: 更新路由组件导入路径,添加文件扩展名以确保正确加载
wenjianzhang Sep 16, 2025
7b14b51
feat: 更新Logo组件中的样式变量导入路径,使用模块化样式文件
wenjianzhang Sep 16, 2025
1afe4ca
feat: 更新ThemePicker导入路径,添加文件扩展名以确保正确加载
wenjianzhang Sep 16, 2025
49290ba
feat: 更新Sidebar组件导入路径,添加文件扩展名以确保正确加载
wenjianzhang Sep 16, 2025
626b7ee
feat: 重构MenuItem组件,移除render函数,使用模板语法提升可读性
wenjianzhang Sep 16, 2025
13e3480
feat: 更新SidebarItem组件,修正导入路径并重构joinPath方法以简化路径拼接
wenjianzhang Sep 16, 2025
1dec3cd
feat: 重构TagsView组件,优化标签渲染方式并增强joinPath方法以处理路径拼接
wenjianzhang Sep 16, 2025
a7c3b4c
feat: 优化ScrollPane组件样式,简化深度选择器的使用
wenjianzhang Sep 16, 2025
95ad882
feat: 移除path模块依赖,优化joinPath方法以处理路径拼接
wenjianzhang Sep 16, 2025
8be73b6
feat: 重构loadView方法,使用Vite的按需加载方式并增强路径兼容性
wenjianzhang Sep 16, 2025
8d83106
feat: 使用@use替代@import重构样式文件,优化Sass模块化管理
wenjianzhang Sep 16, 2025
e88f2f1
feat: 更新样式导入路径,使用模块化样式文件并替换Element UI为Element Plus
wenjianzhang Sep 16, 2025
924528f
feat: 更新PieChart组件,移除主题依赖并优化echarts初始化方式
wenjianzhang Sep 16, 2025
6b47f82
feat: 更新RaddarChart组件,移除主题依赖并优化echarts初始化方式
wenjianzhang Sep 16, 2025
2d26487
feat: 更新BarChart和LineChart组件,移除主题依赖并优化echarts初始化方式
wenjianzhang Sep 16, 2025
18425f0
feat: 更新主文件,优化Element Plus样式导入方式并添加主题定制样式
wenjianzhang Sep 17, 2025
6ddd261
feat: 更新package.json,添加SASS环境变量并引入sass-embedded依赖
wenjianzhang Sep 17, 2025
d5fb36c
feat: 更新样式导入方式,使用@use替代@import以优化Sass模块化
wenjianzhang Sep 17, 2025
e68ab7f
feat: 更新升级文档,调整依赖升级和代码适配阶段内容
wenjianzhang Jan 30, 2026
1419618
feat: 移除index.html中的主脚本引用
wenjianzhang Jan 30, 2026
f8ac853
feat: 删除备份的variables.scss文件
wenjianzhang Jan 30, 2026
9e778f0
feat: 更新样式导入方式,使用@use替代@import以优化Sass模块化,并删除不再使用的变量文件
wenjianzhang Jan 30, 2026
73ea2b4
chore: 升级构建配置以支持 Vue 3
wenjianzhang Jan 31, 2026
81c2325
feat: 迁移核心框架到 Vue 3
wenjianzhang Jan 31, 2026
04d6c8b
refactor: 迁移工具函数和指令到 Vue 3
wenjianzhang Jan 31, 2026
5c7003f
fix: 修复 Layout 组件以兼容 Vue 3
wenjianzhang Jan 31, 2026
690e5d8
fix: 修复公共组件以兼容 Vue 3
wenjianzhang Jan 31, 2026
52916fa
fix: 修复管理模块组件以兼容 Vue 3
wenjianzhang Jan 31, 2026
d5fdec0
fix: 修复其他业务组件以兼容 Vue 3
wenjianzhang Jan 31, 2026
488cf8d
test: 更新测试文件并添加升级文档
wenjianzhang Jan 31, 2026
74399ed
fix: 修复部分安全漏洞
wenjianzhang Jan 31, 2026
97c3d5d
refactor: 替换已废弃的 Vue 2 库
wenjianzhang Jan 31, 2026
6718c7b
fix: 优化 ESLint 配置并减少警告
wenjianzhang Jan 31, 2026
bc24c93
fix: 修复 prop mutation 和 deprecated filter 错误
wenjianzhang Jan 31, 2026
d1f1df3
fix: 修复代码生成器组件的 prop mutation 和 v-slot 错误
wenjianzhang Jan 31, 2026
f508bb6
refactor: 清理 Vue 2 遗留代码
wenjianzhang Jan 31, 2026
95b9bca
fix: 修复 ESLint 警告 - emits 声明和组件命名
wenjianzhang Jan 31, 2026
4bbf6cc
chore: 配置 Sass 环境变量静默警告
wenjianzhang Jan 31, 2026
0696b1b
refactor: 移除 Vue 2 $set API
wenjianzhang Jan 31, 2026
257389f
refactor: 核心布局组件 Vue 3 优化
wenjianzhang Jan 31, 2026
acbea9f
fix: 基础组件添加 emits 声明
wenjianzhang Jan 31, 2026
1a3f289
refactor: 业务组件重命名符合规范
wenjianzhang Jan 31, 2026
90811d0
refactor: 视图页面组件重命名
wenjianzhang Jan 31, 2026
f1405ef
fix: Dashboard 子组件添加 emits
wenjianzhang Jan 31, 2026
d62721d
fix: Dev-tools 表单组件添加 emits
wenjianzhang Jan 31, 2026
58cf276
fix: 修复 sys-menu v-else 编译错误
wenjianzhang Jan 31, 2026
313829d
fix: Excel 组件添加 emits 声明
wenjianzhang Jan 31, 2026
e52da5a
refactor: 优化全局组件注册命名
wenjianzhang Jan 31, 2026
4b690f3
fix: 修复 Navbar 组件下拉菜单模板语法
wenjianzhang Jan 31, 2026
3a96323
fix: 更新 chart-card 组件的插槽语法以支持新模板
wenjianzhang Jan 31, 2026
1a1f5d0
chore: 项目配置与依赖更新
wenjianzhang May 15, 2026
8a8a98c
style: 全局样式体系重构
wenjianzhang May 15, 2026
06f4603
refactor: 主布局组件视觉优化
wenjianzhang May 15, 2026
26b7e55
feat: 公共组件 UI 升级
wenjianzhang May 15, 2026
42991b4
feat: Dashboard 首页 UI 全面升级
wenjianzhang May 15, 2026
047f94e
style: 系统管理模块页面 UI/UX 标准化
wenjianzhang May 15, 2026
6f5139b
style: 定时任务与代码生成页面 UI/UX 优化
wenjianzhang May 15, 2026
f0ce915
fix: 其他页面兼容性修复与优化
wenjianzhang May 15, 2026
b501500
refactor: request.js Axios 封装优化
wenjianzhang May 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .env.development
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,7 @@
ENV = 'development'

# base api
VUE_APP_BASE_API = 'http://localhost:8000'
VUE_APP_BASE_API = 'http://localhost:8001'

# Suppress Sass deprecation warnings
SASS_SILENCE_DEPRECATIONS = 'legacy-js-api'
2 changes: 2 additions & 0 deletions .env.production
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,5 @@ ENV = 'production'
# base api
VUE_APP_BASE_API = ''

# Suppress Sass deprecation warnings
SASS_SILENCE_DEPRECATIONS = 'legacy-js-api'
18 changes: 11 additions & 7 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -1,31 +1,35 @@
module.exports = {
root: true,
parserOptions: {
parser: 'babel-eslint',
sourceType: 'module'
parser: '@babel/eslint-parser',
sourceType: 'module',
requireConfigFile: false
},
env: {
browser: true,
node: true,
es6: true
},
extends: ['plugin:vue/recommended', 'eslint:recommended'],
extends: ['plugin:vue/vue3-recommended', 'eslint:recommended'],

// add your custom rules here
// it is base on https://github.com/vuejs/eslint-config-vue
rules: {
'vue/max-attributes-per-line': [2, {
'singleline': 10,
'singleline': {
'max': 10
},
'multiline': {
'max': 1,
'allowFirstLine': false
'max': 1
}
}],
'vue/no-template-shadow': 'off',
'vue/singleline-html-element-content-newline': 'off',
'vue/multiline-html-element-content-newline': 'off',
'vue/name-property-casing': ['error', 'PascalCase'],
'vue/no-v-html': 'off',
// Vue 3 规则调整
'vue/no-deprecated-slot-attribute': 'warn',
'vue/multi-word-component-names': 'warn',
'accessor-pairs': 2,
'arrow-spacing': [2, {
'before': true,
Expand Down
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,7 @@ selenium-debug.log

package-lock.json
yarn.lock

# Claude Code
CLAUDE.md
.claude/
75 changes: 75 additions & 0 deletions UPGRADE_TO_VUE3.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
# go-admin-ui Vue3 升级实施文档

## 1. 项目分支说明
当前升级分支:`dev-to-vue3`

## 2. 升级目标
- Vue 2.x → Vue 3.x
- Element UI → Element Plus
- Babel、Webpack、ESLint、Jest 等工具包升级
- 其他安全性相关依赖(如 axios、lodash)升级
- **Node.js 版本升级**:从 >=8.9 升级到 >=18.0(推荐 LTS 版本)

## 3. 升级实施阶段

### 阶段零:环境准备(0.5 天) ✅ 已完成
- 检查当前 Node.js 版本(当前 v18.20.1 ✅)
- 升级 Node.js 到最新 LTS 版本(已满足要求)
- 升级 npm 到最新版本(已满足要求)
- 验证新环境下的项目能否正常运行基础命令(如 `npm install` ✅)

### 阶段一:准备与调研 ✅ 已完成
- 备份当前代码,确保可回滚。
- 盘点所有依赖,确认升级目标版本。
- 使用 npm-check-updates 生成升级清单 ✅
- 执行次要版本依赖升级 ✅
- 解决依赖冲突并安装新版本 ✅
- 验证项目基础功能(lint、test)✅

### 阶段二:依赖升级
- 使用 npm-check-updates 或手动修改 `package.json`,升级核心依赖。
- 执行 `npm install`,解决依赖冲突。
- 升级 Babel、Webpack、ESLint、Jest、axios、lodash 等工具包。

### 阶段三:代码适配与重构
- 全面适配 Vue 3 语法(如 Composition API、生命周期钩子变更)。
- 替换 Element UI 为 Element Plus,调整组件用法。
- 升级 vue-router、vuex,并适配新 API。
- 检查第三方库兼容性,必要时替换或移除。

### 阶段四:配置文件调整
- 更新 babel.config.js、webpack、eslint、jest 等配置文件。
- 检查并调整 polyfill、postcss、plop 等相关配置。

### 阶段五:测试与回归
- 运行单元测试,修复因升级导致的测试失败。
- 手动回归主要功能页面,确保无异常。
- 检查打包、部署流程是否正常。

### 阶段六:文档与说明
- 更新 README.md,说明升级内容及注意事项。
- 补充迁移指南,便于团队成员理解变更。

### 阶段七:评审与合并
- 团队代码评审,确认无重大问题后合并至主分支。

## 4. 当前进度总结
- ✅ Node.js 环境检查完成(v18.20.1)
- ✅ 依赖盘点完成,生成了 68 个可升级项
- ✅ 次要版本依赖升级完成(patch/minor 版本)
- ✅ 依赖安装成功,项目可正常运行
- ✅ ESLint 验证通过(发现 35 个问题,多数为代码风格问题)
- ⚠️ 单元测试部分失败(9 个失败,14 个通过),主要问题:
- `time_str` 变量初始化问题(src/utils/index.js)
- @vue/test-utils `contains` 方法弃用(测试代码需更新)

## 5. 参考迁移资源
- [Vue 2 → Vue 3 官方迁移指南](https://v3-migration.vuejs.org/)
- [Element UI → Element Plus 迁移文档](https://element-plus.org/zh-CN/guide/migration.html)
- [vue-router 4.x 文档](https://router.vuejs.org/)
- [vuex 4.x 文档](https://vuex.vuejs.org/)
- [Node.js LTS 版本说明](https://nodejs.org/en/about/releases/)

---

> 后续所有升级、重构、测试等工作请严格按照本实施文档分阶段推进。
Empty file added VUE3_UPGRADE_COMPLETE.md
Empty file.
3 changes: 3 additions & 0 deletions babel.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@ module.exports = {
presets: [
'@vue/cli-plugin-babel/preset'
],
plugins: [
'@vue/babel-plugin-jsx'
],
env: {
development: {
plugins: ['dynamic-import-node']
Expand Down
6 changes: 2 additions & 4 deletions public/index.html → index.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,8 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="renderer" content="webkit">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title>
<%= webpackConfig.name %> - go-admin
</title>
<link rel="icon" href="/favicon.ico">
<title>go-admin</title>
<meta name="keywords" content="go-admin,gin,权限管理系统,gin-admin,gin-vue-admin,go">
<meta name="description"
content="基于Gin + Vue + Element UI的前后端分离权限管理系统,初始化极度简单,只需要配置文件中,修改数据库连接,系统启动后会自动初始化数据库信息以及必须的基础数据">
Expand Down
Empty file added package-clean.json
Empty file.
120 changes: 63 additions & 57 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@
"author": "https://github.com/wenjianzhang",
"license": "MIT",
"scripts": {
"dev": "vue-cli-service serve",
"build:prod": "vue-cli-service build",
"build:stage": "vue-cli-service build --mode staging",
"dev": "SASS_SILENCE_DEPRECATIONS=legacy-js-api vue-cli-service serve",
"build:prod": "SASS_SILENCE_DEPRECATIONS=legacy-js-api vue-cli-service build",
"build:stage": "SASS_SILENCE_DEPRECATIONS=legacy-js-api vue-cli-service build --mode staging",
"preview": "node build/index.js --preview",
"lint": "eslint --ext .js,.vue src",
"test:unit": "jest --clearCache && vue-cli-service test:unit",
Expand Down Expand Up @@ -45,76 +45,82 @@
"url": "https://github.com/go-admin-team/go-admin/issues"
},
"dependencies": {
"@riophae/vue-treeselect": "0.4.0",
"awe-dnd": "^0.3.4",
"axios": "0.21.1",
"clipboard": "2.0.6",
"codemirror": "5.62.0",
"core-js": "^3.6.5",
"@element-plus/icons-vue": "^2.3.2",
"@tsparticles/slim": "^3.0.3",
"@tsparticles/vue3": "^3.0.1",
"@vueuse/core": "^14.2.0",
"axios": "^1.6.0",
"clipboard": "2.0.11",
"codemirror": "^6.0.1",
"core-js": "^3.45.1",
"driver.js": "0.9.8",
"dropzone": "5.7.2",
"echarts": "4.8.0",
"element-ui": "2.15.6",
"file-saver": "2.0.2",
"fuse.js": "6.4.1",
"js-cookie": "2.2.1",
"dropzone": "5.9.3",
"echarts": "^5.5.0",
"element-plus": "^2.8.0",
"file-saver": "2.0.5",
"fuse.js": "6.6.2",
"js-cookie": "3.0.5",
"jsonlint": "1.6.3",
"jszip": "3.5.0",
"moment": "^2.27.0",
"jszip": "3.10.1",
"moment": "^2.30.1",
"normalize.css": "8.0.1",
"nprogress": "0.2.0",
"path-to-regexp": "6.1.0",
"path-to-regexp": "6.3.0",
"remixicon": "^2.5.0",
"sass-resources-loader": "^2.0.3",
"screenfull": "5.0.2",
"viser-vue": "^2.4.8",
"vue": "2.6.11",
"vue-codemirror": "^4.0.6",
"sass-resources-loader": "^2.2.5",
"screenfull": "5.2.0",
"vue": "^3.4.0",
"vue-codemirror": "^6.1.1",
"vue-count-to": "1.0.13",
"vue-cropper": "^0.5.5",
"vue-particles": "^1.0.9",
"vue-router": "3.4.7",
"vuedraggable": "2.24.0",
"vuex": "3.5.1",
"webpack-bundle-analyzer": "^3.8.0",
"xlsx": "0.16.5"
"vue-cropper": "^1.1.3",
"vue-router": "^4.4.0",
"vue3-dnd": "^2.1.0",
"vue3-treeselect": "^0.1.10",
"vuedraggable": "^4.1.0",
"vuex": "^4.1.0",
"webpack-bundle-analyzer": "^3.9.0",
"xlsx": "^0.18.5"
},
"devDependencies": {
"@babel/core": "7.11.1",
"@babel/register": "^7.10.5",
"@babel/runtime": "^7.12.1",
"@vue/babel-preset-app": "^4.5.7",
"@vue/cli-plugin-babel": "4.4.6",
"@vue/cli-plugin-eslint": "^4.4.6",
"@vue/cli-plugin-unit-jest": "4.4.6",
"@vue/cli-service": "^4.5.13",
"@vue/test-utils": "1.0.3",
"autoprefixer": "^9.8.6",
"@babel/core": "7.28.3",
"@babel/eslint-parser": "^7.28.6",
"@babel/register": "^7.28.3",
"@babel/runtime": "^7.28.3",
"@playwright/test": "^1.60.0",
"@vue/babel-plugin-jsx": "^1.5.0",
"@vue/babel-preset-app": "^5.0.8",
"@vue/cli-plugin-babel": "^5.0.8",
"@vue/cli-plugin-eslint": "^5.0.8",
"@vue/cli-plugin-unit-jest": "^5.0.8",
"@vue/cli-service": "^5.0.8",
"@vue/compiler-sfc": "^3.4.0",
"@vue/test-utils": "^2.4.0",
"autoprefixer": "^9.8.8",
"babel-core": "7.0.0-bridge.0",
"babel-eslint": "10.1.0",
"babel-jest": "26.2.2",
"babel-jest": "26.6.3",
"babel-plugin-dynamic-import-node": "^2.3.3",
"beautifier": "^0.1.7",
"chalk": "4.1.0",
"chokidar": "3.4.2",
"compression-webpack-plugin": "^4.0.0",
"chalk": "4.1.2",
"chokidar": "3.6.0",
"compression-webpack-plugin": "^4.0.1",
"connect": "3.7.0",
"eslint": "7.6.0",
"eslint-plugin-vue": "6.2.2",
"html-webpack-plugin": "4.3.0",
"husky": "4.2.5",
"lint-staged": "10.2.11",
"eslint": "7.32.0",
"eslint-plugin-vue": "^9.33.0",
"html-webpack-plugin": "4.5.2",
"husky": "4.3.8",
"lint-staged": "10.5.4",
"mockjs": "1.1.0",
"plop": "2.7.4",
"path-browserify": "^1.0.1",
"plop": "2.7.6",
"runjs": "^4.4.2",
"sass": "^1.35.1",
"sass-loader": "^9.0.3",
"script-ext-html-webpack-plugin": "2.1.4",
"sass": "^1.91.0",
"sass-loader": "^13.3.3",
"script-ext-html-webpack-plugin": "2.1.5",
"script-loader": "0.7.2",
"serve-static": "^1.14.1",
"svg-sprite-loader": "^5.0.0",
"svgo": "1.3.2",
"vue-template-compiler": "2.6.11"
"serve-static": "^1.16.2",
"svg-sprite-loader": "^5.2.1",
"svgo": "1.3.2"
},
"engines": {
"node": ">=8.9",
Expand Down
24 changes: 12 additions & 12 deletions src/App.vue
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,18 @@

<script>
export default {
name: 'App'
name: 'App',
mounted() {
// 声明: 百度统计统计相关下载使用量无别的用途
// 可自行删除
var _hmt = _hmt || []
;(function() {
var hm = document.createElement('script')
hm.src = 'https://hm.baidu.com/hm.js?1d2d61263f13e4b288c8da19ad3ff56d'
var s = document.getElementsByTagName('script')[0]
s.parentNode.insertBefore(hm, s)
})()
}
}
</script>
<script>
// 声明: 百度统计统计相关下载使用量无别的用途
// 可自行删除
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?1d2d61263f13e4b288c8da19ad3ff56d";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script>

Loading
Loading