使用 Vue 3 制作一个适合手机屏幕的网站(移动端网站)是一个非常常见的需求。以下是一个完整的指南,帮助你从零开始构建一个移动端优化的 Vue 3 项目。


1. 创建 Vue 3 项目

使用 Vite 创建项目

Vite 是一个现代化的前端构建工具,非常适合 Vue 3 项目。

npm create vite@latest my-mobile-site --template vue

安装依赖

进入项目目录并安装依赖:

 
cd my-mobile-site
npm install

启动开发服务器

npm run dev

访问 http://localhost:5173,你会看到一个默认的 Vue 3 页面。


2. 配置移动端适配

(1) 设置 Viewport

在 public/index.html 中,确保 <meta> 标签正确设置了 viewport,以适配移动端屏幕:

<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
运行 HTML

(2) 使用 CSS 单位

在移动端开发中,推荐使用相对单位(如 rememvwvh)而不是固定单位(如 px)。

  • rem:基于根元素(<html>)的字体大小。

  • vw / vh:基于视口宽度和高度的百分比。

(3) 安装 PostCSS 插件

使用 postcss-pxtorem 插件将 px 自动转换为 rem

  1. 安装插件:

    npm install postcss-pxtorem --save-dev

    在项目根目录下创建 postcss.config.js 文件:

  2. javascript
    module.exports = {
    plugins: {
    'postcss-pxtorem': {
    rootValue: 16, // 1rem = 16px
    propList: ['*'], // 转换所有属性
    },
    },
    };
  3. 在 src/assets 目录下创建全局样式文件(如 global.css):

    html {
    font-size: 16px; /* 设置根字体大小 */
    } body {
    margin: 0;
    padding: 0;
    font-family: Arial, sans-serif;
    }
  4. 在 main.js 中引入全局样式:

     
    import './assets/global.css';

3. 使用 Vue Router 实现路由

安装 Vue Router

npm install vue-router@4

配置路由

在 src/router/index.js 中配置路由:

import { createRouter, createWebHistory } from 'vue-router';
import Home from '../views/Home.vue';
import About from '../views/About.vue'; const routes = [
{ path: '/', component: Home },
{ path: '/about', component: About },
]; const router = createRouter({
history: createWebHistory(),
routes,
}); export default router;

在 main.js 中使用路由

import { createApp } from 'vue';
import App from './App.vue';
import router from './router'; createApp(App).use(router).mount('#app');

创建视图组件

在 src/views 目录下创建 Home.vue 和 About.vue

<!-- Home.vue -->
<template>
<div class="home">
<h1>Home</h1>
<p>Welcome to the mobile site!</p>
</div>
</template> <script>
export default {
name: 'Home',
};
</script> <style scoped>
.home {
padding: 20px;
}
</style>
<!-- About.vue -->
<template>
<div class="about">
<h1>About</h1>
<p>This is the about page.</p>
</div>
</template> <script>
export default {
name: 'About',
};
</script> <style scoped>
.about {
padding: 20px;
}
</style>

4. 使用 UI 框架(可选)

为了快速构建移动端界面,可以使用一些流行的移动端 UI 框架,例如:

  • Vant:轻量级移动端组件库,专为 Vue 3 设计。

  • Mint UI:另一个流行的移动端 UI 框架。

安装 Vant

npm install vant

在 main.js 中引入 Vant

import { createApp } from 'vue';
import App from './App.vue';
import router from './router';
import Vant from 'vant';
import 'vant/lib/index.css'; // 引入 Vant 样式 createApp(App).use(router).use(Vant).mount('#app');

使用 Vant 组件

<template>
<div class="home">
<van-button type="primary">Primary Button</van-button>
</div>
</template>

5. 响应式设计

使用媒体查询

在 CSS 中使用媒体查询来适配不同屏幕尺寸:

@media (max-width: 600px) {
.home {
font-size: 14px;
}
}

使用 Flexbox 或 Grid 布局

Flexbox 和 Grid 是移动端布局的常用工具。

.container {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}

6. 打包部署

打包项目

npm run build

打包后的文件会生成在 dist 目录中。

部署到服务器

将 dist 目录中的文件上传到你的服务器或静态网站托管服务(如 GitHub Pages、Netlify、Vercel 等)。


7. 示例项目结构

my-mobile-site/
├── public/
├── src/
│ ├── assets/
│ ├── components/
│ ├── views/
│ │ ├── Home.vue
│ │ └── About.vue
│ ├── router/
│ │ └── index.js
│ ├── App.vue
│ └── main.js
├── postcss.config.js
├── vite.config.js
└── package.json

总结

  • 使用 Vite 创建 Vue 3 项目。

  • 配置移动端适配(Viewport、CSS 单位、PostCSS 插件)。

  • 使用 Vue Router 实现路由。

  • 可选:使用 Vant 等 UI 框架快速构建界面。

  • 使用响应式设计适配不同屏幕尺寸。

  • 打包并部署项目。

通过以上步骤,你可以快速构建一个适合手机屏幕的 Vue 3 网站。如果有更多问题,欢迎随时提问!

AI回答(deepseek):vue3制作手机屏网站的更多相关文章

  1. 触屏手机3G网站设计

    随着智能手机iphone和Android的热潮,衍生出基于Safari和Chrome浏览器的触屏手机网站Touch Screen Mobile Website. 触屏手机网站在中国还属于起步阶段,从行 ...

  2. 帝国cms制作手机网站

    1.操作前,我们需要先对网站数据库进行备份. 接下来我们添加手机站的模板组.点击"模板", 选择"模板组管理"中的"导入/导出模板组",然后 ...

  3. [Mugeda HTML5技术教程之16]案例分析:制作跨屏互动游戏

    本节我们将要做一个跨屏互动应用的案例分析,该应用时给一家商场做活动使用的,是一个跨屏爱消除游戏.PC端页面显示在连接在PC的大屏幕上,参与活动的玩家可以用自己的手机扫描PC端页面上的二维码,连接成功后 ...

  4. [Mugeda HTML5技术教程之12]制作跨屏互动应用

    mugeda动画平台还可以用来制作跨屏互动的动画应用,比如在PC端的大屏幕上显示动画的主界面,同时会显示出供手机扫描的二维码,手机扫描后会在手机上显示手机端动画界面.通过手机就可以和PC端的显示界面跨 ...

  5. C#制作简易屏保(转)

    C#制作简易屏保[原创] 原始网址: http://www.cnblogs.com/drizzlecrj/archive/2006/10/06/522182.html 2006-10-06 16:25 ...

  6. 转载: 使用vue全家桶制作博客网站 HTML5 移动网站制作的好教程

    使用vue全家桶制作博客网站   前面的话 笔者在做一个完整的博客上线项目,包括前台.后台.后端接口和服务器配置.本文将详细介绍使用vue全家桶制作的博客网站 概述 该项目是基于vue全家桶(vue. ...

  7. ECSHOP通过改变模板路径制作手机站

    ECSHOP通过改变模板路径制作手机站 前提:不使用ECSHOP自带的mobile目录程序来制作手机站. 目的:手机站做成自动识别,通过改变模板路径来显示PC站或手机站. 待续

  8. js判断是电脑访问手机版网站,跳转到电脑版

    function uaredirect(murl,wurl){ //murl为手机网站域名,wurl为电脑版网站域名地址 67 try { 68 if(document.getElementById( ...

  9. 制作手机浏览器显示格式的HTML页面

    最近要推出手机支持访问的HTML页面效果,而这在制作手机页面的过程中状况连连. 主要一下就我制作的工程中所遇的问题说明一下: 1. 改掉HTML页面声明:(以往大部分页面都是HTML4.0的声明) 还 ...

  10. 手机版WEB开发经验分享,手机版网站开发注意事项,网站自适应,手机版网站自适应,移动安卓APP自适应

    转自 http://my.oschina.net/cart/blog/282477 做前端开发不短了,用过jQuery Mobile jqMobi 也纯手工写过.. 最后总结如下: jQuery Mo ...

随机推荐

  1. Arch Linux 安装完成后配置声音

    安装完 Arch Linux 后,虽然已经装了 alsa-utils,但是仍然可能出现无法播放声音的情况,这里记录了一种解决方案,在我的 Dell 上成功. 如果使用 alsamixer 解除静音后还 ...

  2. 【转载】理解分布式id生成算法SnowFlake

    分布式id生成算法的有很多种,Twitter的SnowFlake就是其中经典的一种. https://segmentfault.com/a/1190000011282426 概述 SnowFlake算 ...

  3. 基于开源IM即时通讯框架MobileIMSDK:RainbowChat v11.0版已发布

    关于MobileIMSDK MobileIMSDK 是一套专门为移动端开发的开源IM即时通讯框架,超轻量级.高度提炼,一套API优雅支持UDP .TCP .WebSocket 三种协议,支持iOS.A ...

  4. IM开发干货分享:如何优雅的实现大量离线消息的可靠投递

    1.点评 IM聊天消息的可靠投递,是每个线上产品都要考虑的IM热点技术问题. IM聊天消息能保证可靠送达,对于用户来说,就好比把钱存在银行不怕被偷一样,是信任的问题.试想,如果用户能明显感知到聊天消息 ...

  5. 不为人知的网络编程(十五):深入操作系统,一文搞懂Socket到底是什么

    1.引言 我相信大家刚开始学网络编程中socket的时候,都跟我一样对书上所讲的socket概念云里雾里的.似懂非懂,很是困扰. 这篇文章我打算从初学者的角度,用通俗易懂的文字,跟大家分享下我所理解的 ...

  6. 【Windows】修改虚拟内存位置

    问题:系统优化中,希望将pagefile.sys文件(即虚拟内存)移动到其他盘中,在网上查找解决办法,找了很多,按照方法设置完成后,pagefile.sys文件依然存在,后来,找到了一篇文章解决了,现 ...

  7. Netty5 服务端和客户端-copy

    概述netty 5 已经放弃掉了,作为学习netty4和5的差别不大,本例子是基于netty5 https://github.com/netty/netty/issues/4466 线程安全一个thr ...

  8. 6种@Transactional注解的失效场景

    一.事务 事务管理在系统开发中是不可缺少的一部分,Spring提供了很好事务管理机制,主要分为编程式事务和声明式事务两种. 编程式事务:是指在代码中手动的管理事务的提交.回滚等操作,代码侵入性比较强, ...

  9. Ubuntu更改用户名

    网上给出Ubuntu更改用户名步骤: 1.进入Ubuntu,打开一个终端,输入 sudo su转为root用户. 注意,必须先转为root用户!!! 2.gedit /etc/passwd ,找到代表 ...

  10. Redis常用指令(详细)

    # Redis 常用指令## 基础命令### 启动与连接```bash# 启动 Redis 服务redis-server# 连接 Redis 客户端redis-cli```### 基本操作```bas ...