【vue3】Vue3 + Vite 项目搭建

1 篇文章 0 订阅
1 篇文章 0 订阅

Vue3 + Vite 项目搭建

  1. 创建项目
  2. 添加Vue Router 4路由配置
  3. 添加Vant UI 组件库
  4. 移动端rem适配
  5. 添加iconfont字体图标库
  6. 二次封装Axios请求库
  7. 添加CSS预处理器Less
  8. 添加全局状态管理插件Vuex

1.创建项目 Vite方式
1.1 进入开发目录, 执行指令创建新项目
更行node版本18+
npm 7.x版本 sudo npm create vite@latest myy-vue-app – --template vue
1.2 进入myy-project-app目录, 安装依赖,启动项目
cd myy-project-app
sudo npm install 或者 sudo npm install --legacy-peer-deps —> sudo chown -R xxx:xxx “/Users/xxxx/.npm”
sudo npm run dev
1.3 打开浏览器,地址栏输入 http://localhost:3000

2. 添加Vue Router 路由配置
2.1 开发目录myy-project-app下, 执行指令添加路由插件库Vue-Router
sudo npm install vue-router@next
2.2 进入src目录, 新增目录router,新增index.js文件
在这里插入图片描述

2.3 src目录下,新建views目录,views目录下,新建Home.vue组件	

在这里插入图片描述

2.4 打开App.vue文件,添加router-view 组件	

在这里插入图片描述

2.5 打开main.js文件, 引入路由实例

在这里插入图片描述

2.6 运行指令, 重启项目
	npm run dev

3. 添加Vant UI 组件库 Vant3版本
3.1 开发目录myy-project-app下, 执行指令添加Vant UI 组件库
sudo npm install vant@3 -S
3.2 添加组件按需引入插件
sudo npm install babel-plugin-import -D
3.3 根目录下, 新建babel.config.js文件
在这里插入图片描述

3.4 在main.js文件中引入Button组件, 验证是否可用

在这里插入图片描述

3.5 在Home.vue组件中添加Button组件

在这里插入图片描述

3.6 启动项目,查看效果
3.7 添加样式按需引入插件
	sudo npm install vite-plugin-style-import -D
3.8 修改vite.config.js文件	

在这里插入图片描述

修改VantResolve方法返回的路径	

在这里插入图片描述

3.9 删除main.js中全局引入样式的代码,重启项目, 验证样式

3.10 未生效问题:
	01: consola问题:   删除import consola from 'consola';
					删除consola.wrapConsole();      
					其余consola 改为 console
	02: 样式按需引入路径问题
	03: require问题: 

4. 移动端rem适配
4.1 根目录下安装插件
postcss-pxtorem: 将px单位转换为rem单位
lib-flexible: 设置rem基准值, 将HTML的font-size属性值根据手机的分辨率进行适配
sudo npm install postcss-pxtorem lib-flexible
4.2 根目录下,新建postcss.config.cjs文件

4.3 在main.js文件中引入lib-flexible插件

在这里插入图片描述

4.4 修改Home.vue, 添加样式	

在这里插入图片描述

4.5 重启项目, 验证是否转换为rem, 手机预览模式看是否适配

5. 添加iconfont字体图标库
5.1 iconfont官网注册账户
5.2 单击“资源管理” —> “我的项目” —> “新建项目”, 设置配置参数
在这里插入图片描述

5.3 添加一个图标到购物车, 并在购物车中加入项目

在这里插入图片描述

5.4 选择“我的项目” —> “我发起的项目”, 复制链接, 在项目index.html文件中引入该链接

在这里插入图片描述

在这里插入图片描述

5.5 修改Home.vue文件,在该页面中添加home图标

在这里插入图片描述
5.6 给home图标添加样式,修改font-size验证
5.7 如果想添加更多图标,可以在iconfont图标库内自行添加, 或让设计师将设计好的图标转换成svg格式导入iconfont图标库

6. 二次封装Axios请求库
6.1 安装Axios
npm install axios
6.2 在src目录下新建utils目录, 在utils目录下新建axios.js文件
在这里插入图片描述

7. 添加CSS预处理器Less
7.1 安装Less和less-loader插件
npm install less less-loader -D
7.2 在src目录下新建theme目录,theme目录下新建custom.less文件
在这里插入图片描述

7.3 修改Home.vue文件,验证Less是否生效

在这里插入图片描述

8. 添加全局状态管理插件Vuex
8.1 根目录下, 执行指令添加状态库Vuex
npm install vuex@next
8.2 src目录下新建store目录, store目录下新建index.js state.js actions.js mutations.js 几个文件
在这里插入图片描述
在这里插入图片描述

8.3 在main.js中引入store抛出的实例

在这里插入图片描述

8.4 修改Home.vue组件, 验证Vuex是否生效
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/47df2626bb1d4069acffa5667939ef53.jpeg)

8.5 安装官方提供的Vue开发工具 Vue.js devtools
GitHub官网下载安装, 打开浏览器控制台验证
  • 22
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
你好!对于使用 Vue 3、TypeScript 和 Vite 来搭建项目,并结合 Pinia 进行状态管理,你可以按照以下步骤进行操作: 1. 首先,确保你已经安装了 Node.js 和 npm(或者使用 yarn)。 2. 创建一个新的项目文件夹,并进入该文件夹。 3. 在终端中运行以下命令来初始化一个新的 Vue 3 项目: ``` npm init vite@latest ``` 在初始化过程中,选择使用 Vue 3、TypeScript 和默认配置。 4. 进入项目文件夹并安装依赖: ``` cd <project-folder> npm install ``` 5. 接下来,安装 Pinia: ``` npm install pinia ``` 6. 在 `src` 目录下创建一个 `store` 文件夹,并在其中创建名为 `index.ts` 的文件。 7. 在 `index.ts` 中编写你的 Pinia store。例如,你可以创建一个名为 `counter` 的 store,并且在其中定义一个状态和一些操作: ```typescript import { defineStore } from 'pinia'; export const useCounterStore = defineStore('counter', { state: () => ({ count: 0, }), actions: { increment() { this.count++; }, decrement() { this.count--; }, }, }); ``` 8. 在应用的入口文件 `main.ts` 中导入并使用 Pinia: ```typescript import { createApp } from 'vue'; import { createPinia } from 'pinia'; import App from './App.vue'; const app = createApp(App); const pinia = createPinia(); app.use(pinia); app.mount('#app'); ``` 9. 在组件中使用 Pinia store。在你的 Vue 组件中,可以使用 `useStore` 函数来访问 Pinia store: ```typescript import { useCounterStore } from '../store'; export default { setup() { const counterStore = useCounterStore(); return { counterStore, }; }, }; ``` 10. 最后,你可以在组件中使用 `counterStore` 来访问状态和操作: ```vue <template> <div> <p>{{ counterStore.count }}</p> <button @click="counterStore.increment()">Increment</button> <button @click="counterStore.decrement()">Decrement</button> </div> </template> <script> import { useCounterStore } from '../store'; export default { setup() { const counterStore = useCounterStore(); return { counterStore, }; }, }; </script> ``` 这样,你就可以使用 Vue 3、TypeScript、Vite 和 Pinia 搭建一个基本的项目并进行状态管理了。希望对你有帮助!如果还有其他问题,请随时问我。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值