用vue创建手机端和PC端两个页面 通过屏幕适配页面

1.创建 Vue 项目:

php 复制代码
npm install -g @vue/cli
vue create my-vue-project
cd my-vue-project

2.创建手机端页面和 PC 端页面:

在 src 目录下创建两个不同的目录,用于存放手机端和 PC 端页面。

php 复制代码
cd src
mkdir mobile pc

在 mobile 目录下创建一个手机端页面组件,比如 MobilePage.vue,在 pc 目录下创建一个 PC 端页面组件,比如 PCPage.vue。

php 复制代码
<!-- src/mobile/MobilePage.vue -->
<template>
  <div>
    <h1>手机端页面</h1>
    <!-- 手机端页面内容 -->
  </div>
</template>
 
<script>
export default {
  // 页面逻辑
}
</script>
 
<style>
/* 手机端页面的样式 */
</style>
php 复制代码
<!-- src/pc/PCPage.vue -->
<template>
  <div>
    <h1>PC端页面</h1>
    <!-- PC端页面内容 -->
  </div>
</template>
 
<script>
export default {
  // 页面逻辑
}
</script>
 
<style>
/* PC端页面的样式 */
</style>

3.配置路由:

在 src 目录下创建一个名为 router.js 的文件,用于配置路由。根据不同设备的屏幕大小,我们将选择加载不同的页面组件

先把路由 加进来

php 复制代码
npm install vue-router --save
php 复制代码
// src/router.js
 
import { createRouter, createWebHistory } from 'vue-router';
import MobilePage from './mobile/MobilePage.vue';
import PCPage from './pc/PCPage.vue';
 
const routes = [
  {
    path: '/',
    component: window.innerWidth < 768 ? MobilePage : PCPage
  }
];
 
const router = createRouter({
  history: createWebHistory(),
  routes
});
 
export default router;

4.修改 main.js:

在 src 目录下的 main.js 文件中,引入 router.js 并配置路由。

php 复制代码
// src/main.js
 
import { createApp } from 'vue';
import App from './App.vue';
import router from './router';
 
createApp(App).use(router).mount('#app');

5.修改 App.vue:

在 src 目录下的 App.vue 文件中,我们需要根据不同设备的屏幕大小来加载对应的页面组件。

php 复制代码
<!-- src/App.vue -->
<template>
  <router-view />
</template>
 
<style>
/* PC 端样式 */
#app {
  max-width: 1024px;
  margin: 0 auto;
}
 
/* 手机端样式 */
@media (max-width: 767px) {
  #app {
    max-width: 100%;
    padding: 0 10px;
  }
}
</style>

6.运行项目

php 复制代码
 npm run serve
相关推荐
boy快快长大2 分钟前
【CSS】第二天 画盒子、文字控制属性
前端·css
wh_xia_jun3 分钟前
uniapp中判断设备类型
前端·javascript·html
前端充电宝7 分钟前
uniapp - 基于uniapp+vue3实现自定义增强版table表格组件体验「兼容H5+小程序+App端」
前端·vue.js·小程序·uni-app
我开心就好o9 分钟前
uniapp3 手写签名组件(vue3 语法)封装与应用
javascript·vue.js·微信小程序·uniapp·手写签名
一个处女座的程序猿O(∩_∩)O10 分钟前
vue数据请求通用方案:axios的options都有哪些值
前端·vue.js
有心还是可以做到的嘛11 分钟前
reactive使用举例【Vue3】
前端·javascript·vue.js
@_猿来如此1 小时前
基于vue的商城小程序的毕业设计与实现(源码及报告)
vue.js·小程序·课程设计·html5·hbuilder
Mirilla1 小时前
华为iotda sdk发送消息无法更新quickstartpython问题解决
java·服务器·前端
秋风~微凉1 小时前
【问题记录】npm create vue@latest报错
前端·vue.js·npm
fuze23331 小时前
ElementUI中的el-select显示的不是对应label值
前端·javascript·elementui