一、什么是 vite
Vite 是面向现代浏览器,基于原生模块系统 ESModule 实现了按需编译的 Web 开发构建工具。在生产环境下基于 Rollup 打包。
优点:
- 快速冷启动服务器
- 即时热模块更换(HMR)
- 真正的按需编译
二、vite 创建项目
npm init vite-app <project-name> // 创建项目
cd <project-name> // 进入新创建的项目
npm install // 安装项目依赖
npm i -S typescript vue-router@next axios // 集成 TypeScript vue-router axios
npm i -D eslint eslint-plugin-vue // 集成 eslint sass
npm i sass --save-dev // 集成css预编译sass
npm run dev // 运行当前项目
三、项目配置
3.1、配置 vite.config.js
vite.config.js
的作用类似于之前 @vue-cli 项目中的 vue.config.js
import path from 'path'
module.exports = {
// 导入别名
alias: {
'/@/': path.resolve(__dirname, './src'),
'/@/': path.resolve(__dirname, './src/views'),
'/@components/': path.resolve(__dirname, './src/components'),
'/@utils/': path.resolve(__dirname, './src/utils'),
},
// 配置Dep优化行为
optimizeDeps: {
include: ["lodash"]
},
// 为开发服务器配置自定义代理规则。
proxy: {
'/api': {
target: 'http://rap2.taobao.org:38080/app/mock/237355',
changeOrigin: true,
rewrite: (path: string) => path.replace(/^\/api/, '')
}
}
// ...
}
参考 GitHub
3.2、集成 Ant Design of Vue 2.0 UI框架
安装 Ant Design of Vue ( 该 UI 库支持 Vite & TypeScript 具体使用关注官方文档 )
npm install ant-design-vue --save ( yarn add ant-design-vue )
按需加载所需的 UI 组件
npm install -D babel-plugin-import
{
"plugins": [
["import", { "libraryName": "ant-design-vue", "libraryDirectory": "es", "style": "css" }] // `style: true` 会加载 less 文件
]
}
Ant Design of Vue 官网
3.3、配置 Router
在src目录下,新建 router
文件夹,并在文件夹内创建 index.js
import { RouteRecordRaw, createRouter, createWebHistory } from 'vue-router';
const routes: RouteRecordRaw[] = [
{
path: '/',
name: 'Home',
component: import('/@views/Home'),
},
{
path: '/user',
name: 'User',
component: () => import('/@views/User'),
},
];
const router = createRouter({
history: createWebHistory(),
routes,
});
export default router;
使用参考
3.4、新建 jsx 页面
在src目录下,新建 views
文件夹,并在文件夹内创建 Home.jsx
User.jsx
** HomePage **
import { defineComponent } from 'vue';
export default defineComponent({
name: 'Home',
setup() {
const msg='hello Home'
return () => (
<>
<h1>Home</h1>
<h1>{msg}</h1>
</>
);
}
});
** UserPage **
import { defineComponent } from 'vue';
export default defineComponent({
name: 'User',
setup() {
const msg='hello 用户中心'
return () => (
<>
<h1>User</h1>
<h1>{msg}</h1>
</>
);
}
});
Vue 3.0 中使用 JSX
3.5、 main.ts
在 main 中引入 router 以及 ant-design-vue
import { createApp } from 'vue'
import App from './App'
import router from './router/index'
import Antd from 'ant-design-vue';
import 'ant-design-vue/dist/antd.css';
createApp(App).use(router).use(Antd).mount('#app')
本网站是一个以CSS、JavaScript、Vue、HTML为核心的前端开发技术网站。我们致力于为广大前端开发者提供专业、全面、实用的前端开发知识和技术支持。
在本网站中,您可以学习到最新的前端开发技术,了解前端开发的最新趋势和最佳实践。我们提供丰富的教程和案例,让您可以快速掌握前端开发的核心技术和流程。
本网站还提供一系列实用的工具和插件,帮助您更加高效地进行前端开发工作。我们提供的工具和插件都经过精心设计和优化,可以帮助您节省时间和精力,提升开发效率。
除此之外,本网站还拥有一个活跃的社区,您可以在社区中与其他前端开发者交流技术、分享经验、解决问题。我们相信,社区的力量可以帮助您更好地成长和进步。
在本网站中,您可以找到您需要的一切前端开发资源,让您成为一名更加优秀的前端开发者。欢迎您加入我们的大家庭,一起探索前端开发的无限可能!