vue3+vite+多页面应用(MPA)示例

news2024/10/7 20:30:50

环境配置:
在硬盘里找个地方放项目内容:如:E:\vue3vitepros,
打开vscode,菜单=》终端=》新建终端,输入命令:cd E:\vue3vitepros 回车,然后依次运行下面命令:
1,安装vite:安装过的忽略此步
npm install vite @latest
*执行 pnpm -v 如果可以显示版本号,就没有问题了
2,创建项目:
npm create vite rxkj-mpa-test --template vue-ts
3,cd rxkj-mpa-test
4,npm install
5,npm install vue-router@4
6,npm install vuex@next –save
建立文件,复制内容,运行测试  npm run dev

效果如下图:

多页面应用无非就是单页面应用的扩展,如主页index.html,管理后台account/admin.html,购物车cart/cart.html,用户后台user/userhome.html,需要配置三个地方:根目录放挂载文件,vite.config.ts配置入口文件路径,具体资源文件编写。

1,项目根目录:

新建各应用挂载点文件,index.html, /account/index.html, /cart/cart.html, /user/userhome.html

内容样例:

<!DOCTYPE html>

<html lang="en">

  <head>

    <meta charset="UTF-8" />

    <link rel="icon" type="image/svg+xml" href="/vite.svg" />

    <meta name="viewport" content="width=device-width, initial-scale=1.0" />

    <title>Vite + Vue + TS</title>

  </head>

  <body>

    这里是account/admin.html

    <div id="app"></div>

    <script type="module" src="/src/admin/admin.ts"></script>

  </body>

</html>

2,Vite.config.ts:

import { resolve } from 'path';  //path报红的,可以用ctrl+.安装包解决

// https://vitejs.dev/config/

export default defineConfig({

  plugins: [vue()],

  build: {

    rollupOptions: {

      input: {

        index: resolve(__dirname, 'index.html'),//系统主页,冒号前面的内容无所谓就是起个名字

        admin: resolve(__dirname, 'account/index.html'),//管理后台主页

        userhome: resolve(__dirname, 'user/userhome.html'), //用户后台主页

        cart: resolve(__dirname, 'cart/cart.html'), //用户后台主页      }

    }

  }

})

3,文件目录:

/src/admin/admin.ts,AdminIndexView.vue

/src/admin/components/AdminLoginView.vue

/src/cart/cart.ts,CartView.vue

/src/admin/components/AdminLoginView.vue

/src/userhome/main.ts,IndexView.vue

/src/userhome/components/AdminLoginView.vue

各目录里面的配置和单页面一样的:

以/src/admin文件夹下系列文件为例:

/src/admin/admin.ts:

import { createApp } from 'vue'

import App from './AdminIndexView.vue' //IndexView.vue换成同文件夹下的*.vue文件名

createApp(App).mount('#app')

/src/admin/AdminIndexView.vue:

<template>

  管理员登陆界面:<br />

  <div style="border: 1px solid #000;">

    用户名和密码区域:<br />

    <AdminLoginView />

  </div>

  计数器:{{ counter }}

  <button @click="counterAdd">点我累加计数器</button>

</template>

<script setup lang="ts">

import { ref } from 'vue';

import AdminLoginView from './components/AdminLoginView.vue';

const counter = ref<number>(100)

const counterAdd = () => {

  console.info("我被点了");

  counter.value++;

}

</script>

/src/admin/components/AdminLoginView.vue:

<template>

    <div>

        <form>

            账号:<input type="text" />

            密码:<input type="password" />

            <input type="button" value="登陆" @click="login" />

        </form>

    </div>

</template>

<script setup lang="ts">

const login = () => {

    alert("登陆按钮按下");

}

</script>

<style scoped></style

其它界面和单页面功能一样

源码见下面链接:

https://download.csdn.net/download/dugucike/87773354?spm=1001.2014.3001.5503

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/513874.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【开发必备】推荐几个非常好用的前端VsCode插件,快来看看你都用过哪些?

VSCode是前端开发的武器&#xff0c;下面给大家推荐几个必备的、非常好用的前端VsCode插件 1.Better Align Better Align就是一款能够实现代码规范的工具&#xff0c;它主要用于代码的上下对齐。它能够用冒号&#xff08;&#xff1a;&#xff09;、赋值&#xff08;&#xf…

Mybatis根据Bean生成对应的SQL语句工具类

Mybatis根据Bean生成对应配置SQL的语句 前言为什么不用MyBatis-PlusMybatis的困扰插入和更新查询 crud工具类MybatisCrudHelp.java 测试类需要注意的点 前言 在进入这一节知道MyBatis-Plus的人可能有人要问了&#xff1a;为什么我不用Mybatis-plus&#xff1f; 为什么不用MyB…

【JAVAEE】单例模式的介绍及实现(懒汉模式和饿汉模式)

目录 1.单例模式 1.1概念 1.2单例模式的实现方式 怎么去设计一个单例 饿汉模式 懒汉模式 懒汉模式-多线程版 解决懒汉模式多线程不安全问题-synchronized 解决懒汉模式多线程不安全问题-volatile 1.单例模式 1.1概念 单例是一种设计模式。 啥是设计模式 ? 设计模式…

机器学习——弹性网估计

机器学习——弹性网估计 文章目录 机器学习——弹性网估计[toc]1 模型介绍2 模型设定3 弹性网估计 1 模型介绍 弹性网估计属于惩罚回归&#xff0c;常见的惩罚回归包括岭回归(ridge)、套索回归(lasso)和弹性网(elasticnet)回归等。 岭回归用于缓解高维数据可能的多重共线性问…

aws exam

Route 53 Route 53 是AWS的一个服务&#xff0c;它的主要功能如下&#xff0c;下面会一一介绍每个功能 Domain registration&#xff08;域名注册&#xff09;DNS management&#xff08;DNS管理&#xff09;Health check&#xff08;健康检查&#xff09;Routing polices&am…

K8S系列之NetworkPolicy

什么是NetworkPolicy IP 地址或端口层面&#xff08;OSI 第 3 层或第 4 层&#xff09;控制网络流量&#xff0c; 则你可以考虑为集群中特定应用使用 Kubernetes 网络策略&#xff08;NetworkPolicy&#xff09;。 NetworkPolicy 是一种以应用为中心的结构&#xff0c;允许你设…

浅析EasyCVR视频汇聚技术在城市智慧文旅数智平台中的应用意义

一、背景分析 根据文化和旅游部4月21日公布的2023年一季度国内旅游数据情况抽样调查统计结果显示&#xff0c;2023年一季度&#xff0c;国内旅游总人次12.16亿&#xff0c;比上年同期增加3.86亿&#xff0c;同比增长46.5%。其中&#xff0c;城镇居民国内旅游人次9.44亿&#x…

消息和消息队列、以及作用场景(一)

“消息”是在两台计算机间传送的数据单位。消息可以非常简单&#xff0c;例如只包含文本字符串&#xff1b;也可以更复杂&#xff0c;可能包含嵌入对象。 “消息队列”是在消息的传输过程中保存消息的容器。 目前的消息队列有很多&#xff0c;例如&#xff1a;Kafka、RabbitMQ…

包装三年经验拿21K,试用期没过完就被裁了....

最近翻了一些网站的招聘信息&#xff0c;把一线大厂和大型互联网公司看了个遍&#xff0c;发现市场还是挺火热的&#xff0c;虽说铜三铁四&#xff0c;但是软件测试岗位并没有削减多少&#xff0c;建议大家有空还是多关注和多投简历&#xff0c;不要闭门造车&#xff0c;错过好…

Redis命令详解

Redis是一个高性能的内存键值数据库&#xff0c;它支持多种数据结构&#xff0c;包括字符串、哈希、列表、集合、有序集合等。Redis通过提供一组命令来实现对数据的操作&#xff0c;这些命令可以通过Redis客户端发送给Redis服务器&#xff0c;从而对数据库进行操作。 Redis的一…

阿里云刘伟光:2 万字解读金融级云原生

作者&#xff1a;刘伟光&#xff0c;阿里云智能新金融&互联网行业总裁、中国金融四十人论坛常务理事&#xff0c;毕业于清华大学电子工程系 01 前言 2015年云原生理念提出的时候&#xff0c;彼时全球金融百年发展形成的信息化到数字化的背后&#xff0c;金融级的技术服务…

好用工具第1期:手机电脑同屏QtScrcpy

QtScrcpy 可以通过 USB / 网络连接Android设备&#xff0c;并进行显示和控制。无需root权限。 同时支持 GNU/Linux &#xff0c;Windows 和 MacOS 三大主流桌面平台。 QtScrcpy 是一个开源项目, 项目地址是: https://github.com/barry-ran/QtScrcpy 它专注于: 精致 (仅显示设…

Java 责任链模式详解

责任链模式&#xff08;Chain of Responsibility Pattern&#xff09;是一种行为型设计模式&#xff0c;它用于将请求的发送者和接收者解耦&#xff0c;使得多个对象都有机会处理这个请求。在责任链模式中&#xff0c;有一个请求处理链条&#xff0c;每个处理请求的对象都是一个…

mysql数据库基础知识,mysql数据库简介(一看就懂,一学就会)

目录 一、MySQL学习路线二、MySQL常见操作1、查看所有数据库show databases。2、MySQL 创建数据库3、删除数据库4、选择数据库use databasename5、查看该数据库下所有表show tables6、创建数据库表7、删除数据库 三、增删改查1、插入数据2、查询数据3、where子句4、更新语句5、…

微前端应用(qiankun+umi+antd)

1.微前端介绍以应用选型 1.1什么是微前端? 微前端是一种前端架构模式&#xff0c;它将前端应用程序拆分成多个小型的、独立开发、独立部署的子应用&#xff0c;然后将这些子应用组合成一个大型的、复杂的前端应用。每个子应用都有自己的技术栈、独立的代码库、独立的开发、测…

Linux快捷命令

目录 一、快捷排序——sort 常用选项&#xff1a; 示例 二、快捷去重——uniq 常用选项&#xff1a; 示例&#xff1a; ​编辑 ​编辑 ​编辑 三、快捷替换——tr 用于windows的编写的脚本格式转换为Linux格 方法一&#xff1a; 方法二&#xff1a; 四、快速裁…

JAVA double精度丢失问题

double类型精度丢失问题&#xff1a; 0.1*0.1使用计算器计算是0.01&#xff0c;代码里却是0.010000000000000002 public class HelloWorld {public static void main(String []args) {double number1 0.1;double number2 0.1;double result number1 * number2 ;System.o…

CSP-S 2022 提高级 第一轮 阅读程序(1) 第16-21题

【题目】 CSP-S 2022 提高级 第一轮 阅读程序&#xff08;1&#xff09; 第16-21题 01 #include <iostream> 02 #include <string> 03 #include <vector> 04 05 using namespace std; 06 07 int f(const string &s, const string &t) 08 { …

关于cartographer建立正确关系树的理解

正确的TF关系map----odom----base_link----laser base_link是固定在机器人本体上的坐标系&#xff0c;通常选择飞控 其中map–odom 的链接是由cartographer中lua文件配置完成的 map_frame "map", tracking_frame "base_link", published_frame "b…

Ubuntu 20.04 安装 mysql8 并配置远程访问

文章目录 一、使用 apt-get 安装 mysql 服务二、初始化 mysql 数据库管理员用户密码三、配置远程访问 一、使用 apt-get 安装 mysql 服务 # 更新软件源 apt-get install update# 安装mysql服务 apt-get install mysql-server# 使用mysqladmin工具查看mysql版本 mysqladmin --v…