Vue
环境配置
下载Node 18.x
配置环境变量:NODE_HOME:C:\WORK\node-v18.14.0-win-x64,NVM_HOME
使用node -v、nvm -v验证
启动ui界面在powershell中vue ui
项目配置信息:package.json
1 | { |
银行几乎都搭了内部仓库(Nexus Repository Manager、JFrog Artifactory、Verdaccio 或自研私服)。
操作步骤(开发机上一次配置,永久生效):
-
在项目根目录新建或修改
.npmrc文件(注意是隐藏文件),内容如下:1
2
3
4registry=http://你的内网npm地址/repository/npm-group/ # 问运维要这个地址
# 如果有用户名密码认证,再加下面两行
//你的内网npm地址/repository/npm-group/:username=你的域账号
//你的内网npm地址/repository/npm-group/:_password=你的密码base64(运维给) -
然后正常执行:
1
npm install
私服会自动从内网缓存里拉取 Bootstrap、jQuery(运维事先已经把常用包同步进去了)。
优点:和外网体验一模一样,团队所有人统一,CI/CD 也能走私服。
基础概念
文件结构

🚀src/assets/静态资源文件夹
功能:存放项目里所有不需要编译的静态文件。
存放内容:
-
图片(
logo.png、icon.svg等) -
字体文件(
.ttf、.woff) -
全局样式文件(偶尔会放
global.css) -
第三方库的静态资源(比如 echarts 的地图 json)
真实用法:在组件里用 import logo from '@/assets/logo.png' 引入,或者直接在 CSS 里 background: url(@/assets/xx.png)。 logo、行标、背景图全扔这里,Vite 会自动优化打包。
🚀src/components/ —— 公共组件文件夹
作用:存放全局可复用的小组件(不是完整页面)。
存放内容:
- 自定义组件:BaseTable.vue、BaseForm.vue、PermissionButton.vue、ElDialogWrapper.vue
真实用法**:所有 CRUD 表格、表单、搜索栏、权限按钮都抽到这里。**规则:被 2 个以上页面使用的组件才放这里,否则先放 views 里,后期重构。
🚀src/router/ —— 路由配置文件夹
作用:管理整个项目的页面跳转(完全取代 JSP 的 <jsp:forward> 和 <c:redirect>)。
存放内容:
- index.js(主路由文件,定义所有 path 和 component)
- 推荐新建 modules/ 子目录,把每个业务模块路由拆分(userRouter.js、menuRouter.js)
真实用法:每个 JSP 页面对应一个路由,使用懒加载 () => import('@/views/user/UserList.vue'),几百个路由也不卡。
🚀src/store/ —— Pinia 状态管理文件夹
作用:全局共享数据管理(取代 JSP session + 全局变量)。
存放内容:
index.js(Pinia 入口)- 每个模块一个文件:
user.ts、auth.ts、menu.ts
真实用法:登录 token、用户信息、权限菜单、主题配置全放这里。页面刷新也不丢(配合 localStorage)。
🚀src/views/ —— 页面视图文件夹(迁移 JSP 的主力战场)
作用:存放每一个具体页面(List + Form + Detail)。
存放内容:
HomeView.vue、AboutView.vue(模板自带,可删)- 按模块建子文件夹:
user/UserList.vue、user/UserForm.vue、permission/RoleList.vue
真实用法:一个 JSP 页面 = 一个 views 文件夹。里面直接写 <el-table>、<el-form>、查询条件、弹窗操作。
🚀src/App.vue —— 根组件
作用:整个应用的最外层容器。
存放内容:全局布局(<router-view> + 侧边栏 + 顶部导航 + 页脚)。
真实用法:用 Element Plus 的<el-container>把后台框架搭起来,左侧菜单、顶部栏全写在这里。
🚀src/main.ts(或 main.js) —— 项目入口文件
作用:项目启动的第一行代码。
存放内容:
- 创建 Vue 实例
- 注册 Pinia、Router、Element Plus、axios 拦截器、全局指令
真实用法:统一加 token 拦截器、Element Plus 主题配置都在这里写。保持干净,别乱改。
真实企业项目中我还会额外新建的文件夹(推荐立刻加上)
1 | src/ |
快速上手建议(迁移 JSP 时的最佳实践)
- 先删掉 HelloWorld.vue 和 AboutView.vue,保持项目干净。
- 在 views/ 下新建 user/ 文件夹,按照我之前给你的 UserList.vue 示例开始迁移第一个页面。
- 记住核心思维:views 放页面,components 放零件,api 放接口,store 放状态。
代码
整个vue项目通过main.js中的createApp(App).use(store).use(router).mount('#app')将所有的组件挂载到/public/index.html中的<div id="app"></div>
.
每一个页面都是一个.vue文件,由三个部分组成,如下
1 | <template> |
.
如何引入其他组件?
在/views/HomeView.vue中引入/components/HelloWorld.vue
在/components/HelloWorld.vue的script里抛出本身
1 | <template> |
在/views/HomeView.vue中引入
1 | <template> |
.
在/router/index.js中将createWebHashHistory改为createWebHashHistory可以避免访问时出现/#/的情况
.
引入的格外组件,如bootstrap,在main.js中引入
1 | import { createApp } from 'vue' |
.
1 | script部分 |





