VUE前端打包到测试环境的解决方法

 更新时间:2022年12月20日 11:49:29   作者:Yilia-Feng  
这篇文章主要介绍了若依VUE前端打包到测试环境,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

一、打包

1、测试环境打包命令

npm run build:stage

2、生产环境打包命令

npm run build:prod

二、前端代码中修改内容

1、Navbar.vue (修复退出登录404bug)

this.$store.dispatch('LogOut').then(() => {
	// location.href = '/index';
	this.$router.push(`/login?redirect=${this.$route.fullPath}`)
})

2、src/router/index.js(修复【点击/刷新】菜单的时候404bug)
注意:/admin/ 是你们自己nginx中的目录 正常是/dist/

export default new Router({
	mode: 'history', // 去掉url中的#
	scrollBehavior: () => ({ y: 0 }),
  	base: "/admin/", // nginx 非根目录需要加base,不然到时候路由进不去
 	routes: constantRoutes
})

3、vue.config.js (例如 https://www.ruoyi.vip/。如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。例如,如果你的应用被部署在 https://www.ruoyi.vip/admin/,则设置 baseUrl 为 /admin/ )

publicPath: process.env.NODE_ENV === ("production" || "test") ? "/admin/" : "/",

4、src/utils/request.js (修复退出登录404bug)

store.dispatch('LogOut').then(() => {
	// location.href = '/index';
 	this.$router.push(`/login?redirect=${this.$route.fullPath}`)
})

5、src/store/modules/permission.js(修复webpack版本问题)

export const loadView = (view) => {
	if (process.env.NODE_ENV === 'development') {
    	return (resolve) => require([`@/views/${view}`], resolve)
  	} else {
  		 // 使用 import 实现生产环境的路由懒加载
   		 // return () => import(`@/views/${view}`)
    	return (resolve) => require([`@/views/${view}`], resolve)
  }
}

三、修复部署到测试环境

页面样式错乱

问题描述:本地开发时组件的样式使用scoped进行局部样式设置,但是打包编译到测试环境以后发现,组件里面的样式会被编译成2个样式,一个全局样式跟局部样式,从而导致组件的样式污染到其它同名的样式

解决方法:找到vue.config.js文件进行如下配置修改

 css: {
    // loaderOptions: {
    //   sass: {
    //     sassOptions: { outputStyle: "expanded" }
    //   }
    // }
    extract:false,
    sourceMap:false
 }

四、nginx配置

配置测试环境代理: /stage-api/
配置生产环境代理: /prod-api/

location /admin {
	alias  html/admin/;
   	try_files $uri $uri/ @admin_router;
  	index  index.html index.htm;
}

location @admin_router {
   	rewrite ^.*$ /admin/index.html last;
}

location /prod-api/ {
   	proxy_set_header Host $http_host;
	proxy_set_header X-Real-IP $remote_addr;
   	proxy_set_header REMOTE-HOST $remote_addr;
	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   	proxy_pass http://172.18.12.117:8080/;      
}

location /stage-api/ {
	proxy_set_header Host $http_host;
	proxy_set_header X-Real-IP $remote_addr;
   	proxy_set_header REMOTE-HOST $remote_addr;
	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   	proxy_pass http://172.18.12.117:8080/;
}

到此这篇关于若依VUE前端打包到测试环境的文章就介绍到这了,更多相关vue打包到测试环境内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 浅析vue插槽和作用域插槽的理解

    浅析vue插槽和作用域插槽的理解

    插槽,也就是slot,是组件的一块HTML模板,这块模板显示不现实、以及怎样显示由父组件来决定。这篇文章主要介绍了浅析vue插槽和作用域插槽的理解,需要的朋友可以参考下
    2019-04-04
  • Vue3+echarts5踩坑以及resize方法报错的解决

    Vue3+echarts5踩坑以及resize方法报错的解决

    这篇文章主要介绍了Vue3+echarts5踩坑以及resize方法报错的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • 手把手教你写一个vue全局注册的Toast的实现

    手把手教你写一个vue全局注册的Toast的实现

    本文主要介绍了手把手教你写一个vue全局注册的Toast的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • Vue关于对象直接赋值的坑及解决

    Vue关于对象直接赋值的坑及解决

    这篇文章主要介绍了Vue关于对象直接赋值的坑及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • Nuxt3重点特性使用举例问题记录

    Nuxt3重点特性使用举例问题记录

    Nuxt3 使用 Vue.js 作为视图引擎,Nuxt3 中提供了所有 Vue 3 功能,所以我们创建的Nuxt项目其实也是vue3项目,这篇文章主要介绍了Nuxt3重点特性使用举例记录,需要的朋友可以参考下
    2022-12-12
  • Vue2与Vue3兄弟组件通讯bus的区别及用法

    Vue2与Vue3兄弟组件通讯bus的区别及用法

    这篇文章主要介绍了Vue2与Vue3兄弟组件通讯bus的区别及用法,有需要的朋友可以借鉴参考下,希望可以有所帮助,祝大家多多进步早日升职加薪
    2021-09-09
  • vite创建vue3项目页面引用public下js文件失败解决办法

    vite创建vue3项目页面引用public下js文件失败解决办法

    Vue3相较于之前的版本有了不少变化,如引用全局Js文件,这篇文章主要给大家介绍了关于vite创建vue3项目页面引用public下js文件失败的解决办法,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-11-11
  • vue3中引入svg矢量图的实现示例

    vue3中引入svg矢量图的实现示例

    在项目开发过程中,我们经常会用到svg矢量图,本文主要介绍了vue3中引入svg矢量图的实现示例,具有一定的参考价值,感兴趣的可以了解一下
    2023-11-11
  • Vue.js实现表格动态增加删除的方法(附源码下载)

    Vue.js实现表格动态增加删除的方法(附源码下载)

    Vue.js通过简洁的API提供高效的数据绑定和灵活的组件系统。在前端纷繁复杂的生态中,Vue.js有幸受到一定程度的关注,下面这篇文章主要给介绍了Vue.js实现表格动态增加删除的方法实例,文末提供了源码下载,需要的朋友可以参考借鉴。
    2017-01-01
  • 在vue3项目中实现国际化的代码示例

    在vue3项目中实现国际化的代码示例

    国际化就是指在一个项目中,项目中的语言可以进行切换(中英文切换),那么在实际项目中是如何实现的呢,本文就给大家详细的介绍实现方法,需要的朋友可以参考下
    2023-07-07

最新评论