出入库管理系统vue2前端开发服务器地址配置

【精选】vue.config.js 的完整配置(超详细)_vue.config.js配置_web学生网页设计的博客-CSDN博客

本项目需要修改两处:

1、vue开发服务器地址:config\index.js

'use strict'
// Template version: 1.3.1
// see http://vuejs-templates.github.io/webpack for documentation.const path = require('path')module.exports = {dev: {// PathsassetsSubDirectory: 'static',assetsPublicPath: '/',proxyTable: {},// Various Dev Server settingshost: '10.0.180.203', //'localhost', // can be overwritten by process.env.HOSTport: 8081, // can be overwritten by process.env.PORT, if port is in use, a free one will be determinedautoOpenBrowser: false,errorOverlay: true,notifyOnErrors: true,poll: false, // https://webpack.js.org/configuration/dev-server/#devserver-watchoptions-// Use Eslint Loader?// If true, your code will be linted during bundling and// linting errors and warnings will be shown in the console.useEslint: true,// If true, eslint errors and warnings will also be shown in the error overlay// in the browser.showEslintErrorsInOverlay: false,/*** Source Maps*/// https://webpack.js.org/configuration/devtool/#developmentdevtool: 'cheap-module-eval-source-map',// If you have problems debugging vue-files in devtools,// set this to false - it *may* help// https://vue-loader.vuejs.org/en/options.html#cachebustingcacheBusting: true,cssSourceMap: true},build: {// Template for index.htmlindex: path.resolve(__dirname, '../dist/index.html'),// PathsassetsRoot: path.resolve(__dirname, '../dist'),assetsSubDirectory: 'static',assetsPublicPath: './',/*** Source Maps*/productionSourceMap: true,// https://webpack.js.org/configuration/devtool/#productiondevtool: '#source-map',// Gzip off by default as many popular static hosts such as// Surge or Netlify already gzip all static assets for you.// Before setting to `true`, make sure to:// npm install --save-dev compression-webpack-pluginproductionGzip: true,productionGzipExtensions: ['js', 'css'],// Run the build command with an extra argument to// View the bundle analyzer report after build finishes:// `npm run build --report`// Set to `true` or `false` to always turn it on or offbundleAnalyzerReport: true}
}

2、后台接口地址:src\utils\request.js

import axios from 'axios'
import {message, Modal, notification} from 'ant-design-vue'
import moment from 'moment'
import store from '../store'
import db from 'utils/localstorage'
moment.locale('zh-cn')// 统一配置
let FEBS_REQUEST = axios.create({baseURL: 'http://10.0.180.203:9527/', // 'http://127.0.0.1:9527/',responseType: 'json',validateStatus (status) {// 200 外的状态码都认定为失败return status === 200}
})// 拦截请求
FEBS_REQUEST.interceptors.request.use((config) => {let expireTime = store.state.account.expireTimelet now = moment().format('YYYYMMDDHHmmss')// 让token早10秒种过期,提升“请重新登录”弹窗体验if (now - expireTime >= -10) {Modal.error({title: '登录已过期',content: '很抱歉,登录已过期,请重新登录',okText: '重新登录',mask: false,onOk: () => {return new Promise((resolve, reject) => {db.clear()location.reload()})}})}// 有 token就带上if (store.state.account.token) {config.headers.Authentication = store.state.account.token}return config
}, (error) => {return Promise.reject(error)
})// 拦截响应
FEBS_REQUEST.interceptors.response.use((config) => {return config
}, (error) => {if (error.response) {let errorMessage = error.response.data === null ? '系统内部异常,请联系网站管理员' : error.response.data.messageswitch (error.response.status) {case 404:notification.error({message: '系统提示',description: '很抱歉,资源未找到',duration: 4})breakcase 403:case 401:notification.warn({message: '系统提示',description: '很抱歉,您无法访问该资源,可能是因为没有相应权限或者登录已失效',duration: 4})breakdefault:notification.error({message: '系统提示',description: errorMessage,duration: 4})break}}return Promise.reject(error)
})const request = {post (url, params) {return FEBS_REQUEST.post(url, params, {transformRequest: [(params) => {let result = ''Object.keys(params).forEach((key) => {if (!Object.is(params[key], undefined) && !Object.is(params[key], null)) {result += encodeURIComponent(key) + '=' + encodeURIComponent(params[key]) + '&'}})return result}],headers: {'Content-Type': 'application/x-www-form-urlencoded'}})},put (url, params) {return FEBS_REQUEST.put(url, params, {transformRequest: [(params) => {let result = ''Object.keys(params).forEach((key) => {if (!Object.is(params[key], undefined) && !Object.is(params[key], null)) {result += encodeURIComponent(key) + '=' + encodeURIComponent(params[key]) + '&'}})return result}],headers: {'Content-Type': 'application/x-www-form-urlencoded'}})},get (url, params) {let _paramsif (Object.is(params, undefined)) {_params = ''} else {_params = '?'for (let key in params) {if (params.hasOwnProperty(key) && params[key] !== null) {_params += `${key}=${params[key]}&`}}}return FEBS_REQUEST.get(`${url}${_params}`)},delete (url, params) {let _paramsif (Object.is(params, undefined)) {_params = ''} else {_params = '?'for (let key in params) {if (params.hasOwnProperty(key) && params[key] !== null) {_params += `${key}=${params[key]}&`}}}return FEBS_REQUEST.delete(`${url}${_params}`)},export (url, params = {}) {message.loading('导出数据中')return FEBS_REQUEST.post(url, params, {transformRequest: [(params) => {let result = ''Object.keys(params).forEach((key) => {if (!Object.is(params[key], undefined) && !Object.is(params[key], null)) {result += encodeURIComponent(key) + '=' + encodeURIComponent(params[key]) + '&'}})return result}],responseType: 'blob'}).then((r) => {const content = r.dataconst blob = new Blob([content])const fileName = `${new Date().getTime()}_导出结果.xlsx`if ('download' in document.createElement('a')) {const elink = document.createElement('a')elink.download = fileNameelink.style.display = 'none'elink.href = URL.createObjectURL(blob)document.body.appendChild(elink)elink.click()URL.revokeObjectURL(elink.href)document.body.removeChild(elink)} else {navigator.msSaveBlob(blob, fileName)}}).catch((r) => {console.error(r)message.error('导出失败')})},download (url, params, filename) {message.loading('文件传输中')return FEBS_REQUEST.post(url, params, {transformRequest: [(params) => {let result = ''Object.keys(params).forEach((key) => {if (!Object.is(params[key], undefined) && !Object.is(params[key], null)) {result += encodeURIComponent(key) + '=' + encodeURIComponent(params[key]) + '&'}})return result}],responseType: 'blob'}).then((r) => {const content = r.dataconst blob = new Blob([content])if ('download' in document.createElement('a')) {const elink = document.createElement('a')elink.download = filenameelink.style.display = 'none'elink.href = URL.createObjectURL(blob)document.body.appendChild(elink)elink.click()URL.revokeObjectURL(elink.href)document.body.removeChild(elink)} else {navigator.msSaveBlob(blob, filename)}}).catch((r) => {console.error(r)message.error('下载失败')})},upload (url, params) {return FEBS_REQUEST.post(url, params, {headers: {'Content-Type': 'multipart/form-data'}})}
}export default request

解析vue中的process.env_vue process-CSDN博客

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

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

相关文章

传奇手游天花板赤月【盛世遮天】【可做底版】服务端+自主授权+详细教程

搭建资源下载地址:传奇手游天花板赤月【盛世遮天】【可做底版】服务端自主授权详细教程-海盗空间

使用MybatisPlus时出现的java.lang.NullPointerException异常~

错误描述如下所示: 错误原因:Junit的导包错误 单元测试的包有如下所示两个 我们应该根据springboot的版本进行选择, 在Spring Boot 2.2.X以后使用import org.junit.jupiter.api.Test Junit5 在Spring Boot 2.2.x之前使用import org.junit.T…

赛宁网安获评“铸网-2023”江西省实网应急演练优秀支撑单位

近日,南京赛宁信息技术有限公司(赛宁网安)获得了江西省工业和信息化厅颁发的“优秀支撑单位”荣誉。 该荣誉表彰是对赛宁网安在“铸网-2023”江西省工业领域网络安全实网应急演练中提供全程技术支撑能力的认可。 本次实网应急演练聚焦工业企…

理疗养生服务预约小程序要如何做

不少人面对身体症状疼痛,往往不会选择去医院,而是去理疗养生馆,选择艾灸、拔罐、中药贴敷等方式治疗改善或减轻疼痛。随着人们对中医信赖度增强,理疗养生市场增长迅速。 而在增长的同时,我们也注意到理疗养生馆经营痛…

Elasticsearch:检索增强生成 (Retrieval Augmented Generation -RAG)

作者:JOE MCELROY 什么是检索增强生成 (RAG) 以及该技术如何通过提供相关源知识作为上下文来帮助提高 LLMs 生成的响应的质量。 生成式人工智能最近取得了巨大的成功和令人兴奋的成果,其模型可以生成流畅的文本、逼真的图像,甚至视频。 就语…

UML软件建模软件StarUML mac中文版软件介绍

StarUML for mac是一款UML建模器,StarUML for mac提供了几个模版,帮助用户建立使用新的图表,是目前最流行的UML建模工具,给开发工作带来大大的便利。 StarUML mac软件介绍 StarUML 是一个流行的软件建模工具,用于创建…

解决Mac配置maven环境后,关闭终端后环境失效的问题(适用于所有终端关闭后环境失效的问题)

目录 问题的原因 解决方式一、每次打开终端时输入:"source ~/.bash_profile",这个方式比较繁琐 解决方式二、我们终端输入"vim ~/.zshrc"打开".zshrc"文件 1、我们输入以下代码: 2、首先需要按 " i…

unity 使用Vuforia扫描实体物体交互

文章目录 前言一、Vuforia是什么?二、Unity导入Vuforia1.去Unity - Windows – Asset Store,搜vuforia engine,添加到我的资源2.从 Unity 的菜单 Assets -> Import package -> Custom Package 导入脚本,添加 Vuforia Engine…

工作汇报怎么写?建议收藏

整体思路与模块: 背景/事件 成果展示 推动落实的方法论 收获与成长 存在的不足及改进措施 下一步工作安排 支持(选) 一、背景/事件 对于区分“功能性总结”和“应付性总结”,在背景/事件方面有一个关键点 是报告是否具有…

简洁高效的微信小程序分页器封装实践

前言 在现今的移动应用开发中,微信小程序已经成为了一个备受欢迎的平台。然而,随着应用的复杂性增加,数据的管理和加载成为了一个问题。本文将探讨微信小程序中的一个关键概念:封装分页器,它是提升小程序性能和用户体验…

Python实现WOA智能鲸鱼优化算法优化BP神经网络回归模型(BP神经网络回归算法)项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 鲸鱼优化算法 (whale optimization algorithm,WOA)是 2016 年由澳大利亚格里菲斯大学的Mirjalili 等提…

【Linux】-文件系统的详解以及软硬链接

💖作者:小树苗渴望变成参天大树🎈 🎉作者宣言:认真写好每一篇博客💤 🎊作者gitee:gitee✨ 💞作者专栏:C语言,数据结构初阶,Linux,C 动态规划算法🎄 如 果 你 …

说说你对React Router的理解?常用的Router组件有哪些?

一、是什么 react-router等前端路由的原理大致相同,可以实现无刷新的条件下切换显示不同的页面 路由的本质就是页面的URL发生改变时,页面的显示结果可以根据URL的变化而变化,但是页面不会刷新 因此,可以通过前端路由可以实现单页(SPA)应用 react-router主要分成了几个不…

香港和美国节点服务器的测试IP哪里有?

在选择服务器时,我们通常需要进行一些测试来评估其性能和稳定性。当然,这其中一个重要的测试指标就是服务器的 IP 地址。通过测试 IP 地址,我们可以了解到服务器所在地区以及网络连接质量等信息。作为香港及亚太数据中心领先服务商恒创科技&a…

docker简介和安装

0.前提 本文章意在告诉各位开发者学生有一个工具能够方便你未来的项目开发和部署,这也是我在给我留下一份备份,在我忘记的时候可以回头寻找。 1.docker简介 docker本身就有集装箱的意思。Docker: Accelerated Container Application Development Dock…

基于单片机智能浇花系统仿真设计

**单片机设计介绍, 基于单片机智能浇花系统仿真设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的智能浇花系统可以实现自动化浇水、测土湿度和温度等功能,以下是一个基本的仿真设计步骤&am…

【深度学习】pytorch——常用工具模块

笔记为自我总结整理的学习笔记,若有错误欢迎指出哟~ 深度学习专栏链接: http://t.csdnimg.cn/dscW7 pytorch——常用工具模块 数据处理 torch.utils.data模块DatasetDataLoadersamplertorch.utils.data的使用 计算机视觉工具包 torchvisiontorchvision.d…

【技术干货】开源库 Com.Gitusme.Net.Extensiones.Core 的使用(二)

Com.Gitusme.Net.Extensiones.Core 扩展库 1.0.6 版本已发布。 1、版本变更说明 新增Sokcet套接字扩展。简化Socket操作,支持自定义命令封装,使用方便快捷,让您聚焦业务实现,而不必关心底层逻辑,提高开发效率。日志功…

# Spring事务与分布式事务

一、事务的具体定义 事务提供一种机制将一个活动涉及的所有操作纳入到一个不可分割的执行单元,组成事务的所有操作只有在所有操作均能正常执行的情况下方能提交,只要其中任一操作执行失败(出现异常),都将导致整个事务…

场景案例∣企业如何打造数智采购商城,赋能企业提速降本增效

从1998年第一个电商平台成立至今,已经有25年。 随着数字化经济加快发展,大数据、云计算、物联网及人工智能的进一步应用,近年来电商化采购模式也强势崛起,在企业采购领域掀起革命性的巨浪。 而随着市场需求的变化多样,…