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

环境配置:
在硬盘里找个地方放项目内容:如: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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是配置多页面Vue3 + Vite + TypeScript的示例代码: 1. 在项目根目录下创建一个`pages`文件夹,用于存放多页面的入口文件和模板文件。 2. 在`pages`文件夹下创建一个`index`文件夹,用于存放首页相关的文件。 3. 在`index`文件夹下创建一个`index.html`文件,作为首页的模板文件。 4. 在`index`文件夹下创建一个`main.ts`文件,作为首页的入口文件。 5. 在`pages`文件夹下创建一个`about`文件夹,用于存放关于页面相关的文件。 6. 在`about`文件夹下创建一个`about.html`文件,作为关于页面的模板文件。 7. 在`about`文件夹下创建一个`main.ts`文件,作为关于页面的入口文件。 8. 在`vite.config.ts`文件中配置多页面: ```typescript import { defineConfig } from 'vite'; import { resolve } from 'path'; export default defineConfig({ build: { outDir: 'dist', assetsDir: 'assets', rollupOptions: { input: { index: resolve(__dirname, 'pages/index/main.ts'), about: resolve(__dirname, 'pages/about/main.ts'), }, }, }, }); ``` 9. 在`index.html`和`about.html`文件中分别引入不同的JS文件: ```html <!-- index.html --> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <title>Index Page</title> </head> <body> <div id="app"></div> <script type="module" src="/index.js"></script> </body> </html> <!-- about.html --> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <title>About Page</title> </head> <body> <div id="app"></div> <script type="module" src="/about.js"></script> </body> </html> ``` 10. 在`main.ts`文件中编写Vue3的代码: ```typescript import { createApp } from 'vue'; import App from './App.vue'; createApp(App).mount('#app'); ``` 11. 运行`npm run dev`启动开发服务器,访问`http://localhost:3000/index.html`和`http://localhost:3000/about.html`即可查看多页面效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值