vue前端开发中,通过vue.config.js配置和nginx配置,实现多个入口文件的实现方法

文章目录

        • 第一步:在项目public文件夹下创建一个login.html,其实就是将index.html复制一份,将title改一下:
          • login.html
        • 第二步:在src文件夹下创建一个login文件夹,分别创建login.main.js、login.router.js、login.vue三个文件
          • login.main.js
          • login.router.js
          • login.vue
        • 第三步:配置vue.config.js
        • 第四步:运行访问:
        • 第五步:打包
        • 第六步:部署,nginx配置

由于vue单页面项目,通过控制组件局部渲染,main.js是整个项目唯一的入口,整个项目都在一个index.html外壳中。

项目过大,会造成单页面负载过重;同时,多页面利于模块独立部署

如果项目中不同的页面需要不同的main.js和App.vue这样就需要配置多个入口了。

要单独将页面当成一个项目入口文件,以下以登陆页面为例:

第一步:在项目public文件夹下创建一个login.html,其实就是将index.html复制一份,将title改一下:
public
    index.html
    login.html
login.html
// 仿照index.html
<div id="login"></div>

vue_27">第二步:在src文件夹下创建一个login文件夹,分别创建login.main.js、login.router.js、login.vue三个文件
src
    login
        login.main.js
        login.router.js
        login.vue
login.main.js
// 仿照main.js
import Vue from 'vue';
import login from './login.vue';
import router from './login.router';
Vue.config.productionTip = false;
new Vue({  
    router,  
    render: h => h(login),
}).$mount('#login');
login.router.js
// 仿照router.js
import Vue from 'vue';
import Router from 'vue-router';
Vue.use(Router);
export default new Router({  
    routes: [
        {
            path: "/",
            name: "login",
            component: () =>
              import(../views/login.vue"),
            meta:{
              title:"登陆"
            }
        },
    ],
});
vue_73">login.vue
// 仿照App.vue
<template>    
    <div id="login">
        <router-view></router-view>
    </div>
</template>

<script>
export default {
    data(){
        return{
        }
    }
}
</script>

<style scoped>

</style>
vueconfigjs_96">第三步:配置vue.config.js

在module.exports里加上入口配置:

pages: {//配置多页面入口        
      login: {          
        entry: 'src/login/login.main.js',          
        template: 'public/login.html',        
      },        
      index: {          
        entry: 'src/main.js',          
        template: 'public/index.html',        
      },    
    },
第四步:运行访问:
npm run serve

这个就是单独的访问地址了

localhost:port/login.html

第五步:打包
npm run build
第六步:部署,nginx配置
root /usr/local/nginx/html;
location /login {
    index  login.html login.htm;
    try_files $uri $uri/ /login.html;
}
location / {
    index  index.html index.htm;
    try_files $uri $uri/ /index.html;
}

这样就可以正常访问多个地址了。


http://www.niftyadmin.cn/n/5339676.html

相关文章

java实现时间轮算法

Main demo测试代码 public class Main {static int inCount 0;static int runCount 0;public static void main(String[] args) {CountDownLatch countDownLatch new CountDownLatch(1000);Timer timer new Timer();for(int i1;i<1000;i){TimerTask timerTask new Ti…

MySQL修炼手册13:存储过程初探:提高数据库操作效率

目录 写在开头1 存储过程的基本概念1.1 存储过程与SQL语句的对比1.2 存储过程的创建与调用 2 存储过程中的流程控制2.1 IF语句的使用2.2 循环与分支控制2.2.1 WHILE循环2.2.2 REPEAT循环2.2.3 LOOP循环2.2.4 CASE语句 3 存储过程的应用场景3.1 存储过程在业务逻辑中的应用3.1.1…

oracle如何定期备份数据库sql文件

Oracle数据库可以使用以下方法定期备份数据库的SQL文件&#xff1a; 使用Oracle的备份和恢复工具RMAN&#xff08;Recovery Manager&#xff09;进行备份。RMAN提供了全面而高效的数据库备份和恢复功能。您可以使用RMAN备份数据库的SQL文件&#xff0c;并将其存储在指定的位置。…

5. 函数调用过程汇编分析

函数调用约定 __cdecl 调用方式 __stdcall 调用方式 __fastcall 调用方式 函数调用栈帧分析 补充说明 不同的编译器实现不一样&#xff0c;上述情况只是VC6.0的编译实现即便是在同一个编译器&#xff0c;开启优化和关闭优化也不一样即便是同一个编译器同一种模式&#xff0c;3…

Docker 配置 Gitea + Drone 搭建 CI/CD 平台

Docker 配置 Gitea Drone 搭建 CI/CD 平台 配置 Gitea 服务器来管理项目版本 本文的IP地址是为了方便理解随便打的&#xff0c;不要乱点 首先使用 docker 搭建 Gitea 服务器&#xff0c;用于管理代码版本&#xff0c;数据库选择mysql Gitea 服务器的 docker-compose.yml 配…

JS之Math

一提到数学&#xff0c;就想到被数学支配的噩梦&#xff0c;只不过这个数学用在了代码当中&#xff0c;那么代码当中的数学对象又是什么样的呢&#xff1f;让我为大家简单介绍一下吧&#xff01; 数学对象常用方法&#xff1a; 常用方法简述ceil向上取整floor向下取整round四舍…

自然语言处理中的词云生成

一.词云的介绍 自然语言处理中的词云技术是文本可视化的一种形式&#xff0c;用于展示文本数据中词语的频率分布。以下是词云在自然语言处理中的基本介绍和发展&#xff1a; 起源和发展&#xff1a; 词云的概念最初来源于信息可视化领域&#xff0c;用于将文本中的关键词以视…

鸿蒙开发系列教程(七)--ArkTS语言:状态管理

如果希望构建一个动态的、有交互的界面&#xff0c;就需要引入“状态”的概念 状态管理机制&#xff1a;在声明式UI编程框架中&#xff0c;UI是程序状态的运行结果&#xff0c;用户构建了一个UI模型&#xff0c;其中应用的运行时的状态是参数。当参数改变时&#xff0c;UI作为…