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>

第二步:在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:"登陆"
            }
        },
    ],
});
login.vue
// 仿照App.vue
<template>    
    <div id="login">
        <router-view></router-view>
    </div>
</template>

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

<style scoped>

</style>
第三步:配置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;
}

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

  • 10
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
对于前端Vue项目发送请求不携带cookie的问题,您可以按照以下步骤进行排查: 1. 检查vue.config.js配置:在Vue项目,可以通过vue.config.js文件进行一些配置。请确保在该文件没有对cookie进行了特殊的配置,比如禁用了cookie的发送。您可以检查是否有类似以下的配置项: ```javascript module.exports = { devServer: { // 是否禁用了发送cookie disableHostCheck: true, // ... }, // ... } ``` 如果存在以上配置,请将其删除或注释掉,以确保cookie能够正常发送。 2. 检查nginx反向代理配置:如果您使用了nginx进行反向代理,也需要检查nginx配置文件的相关设置。请确保没有对cookie进行了特殊的配置,比如禁用了cookie的转发。您可以检查是否有类似以下的配置项: ```nginx location /api { # 是否禁用了cookie转发 proxy_cookie_path ~^/api/(.*)$ /$1 break; # ... } ``` 如果存在以上配置,请将其删除或注释掉,以确保cookie能够正常转发。 3. 确认接口允许跨域访问:在开发环境下,如果您的接口和前端项目部署在不同的域名下,可能会存在跨域访问的问题。请确保接口服务器允许前端项目的域名进行跨域访问,并在响应包含Access-Control-Allow-Credentials和Access-Control-Allow-Origin头信息。您可以在接口服务器的响应头添加以下配置: ``` Access-Control-Allow-Credentials: true Access-Control-Allow-Origin: 前端项目的域名 ``` 请将"前端项目的域名"替换为您实际的前端项目域名。 以上是一些常见的排查步骤,希望能帮助您解决问题。如果问题仍然存在,请提供更多详细信息,我将尽力协助您解决。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

邹荣乐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值