• vue项目打包后部署线上报错解决


    vue项目打包后部署线上报错解决

    1、问题

    vue项目,我是用vue-cli创建,没有使用各种脚手架,非常简单纯洁。package.json里面也是使用默认的配置:

    在使用axios时,封装了一个 http.js 工具:

    import axios from 'axios'
    import Qs from 'qs'
    import JsCookie from 'js-cookie'//需要安装js-cookie插件
    axios.defaults.timeout = 5000
    axios.defaults.withCredentials= true//允许跨越时携带cookie并不是加上就能跨域
    
    axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
    const AUTH_TOKEN = JsCookie.get('token');
    if (JsCookie.get('token')) {//需要导入js-cookie插件
      axios.defaults.headers.common['Authorization'] = AUTH_TOKEN;
    }
    //判断环境
    if (process.env.NODE_ENV === 'development') {
      axios.defaults.baseURL = 'http://192.168.1.8:8010/';
    } else {
      axios.defaults.baseURL = 'http://xxx.xxx.xx.xxx:8080/';
    }
    //请求之前的配置
    axios.interceptors.request.use(function (config) {
      // console.log(config.method)
      if (config.method.toLowerCase() === 'post') {
        if (config.headers['upload']){
          config.headers = {
            'Cache-Control': 'no-cache',
            'Content-Type': 'multipart/form-data'
          }
          return config;
        }
        config.data = Qs.stringify(config.data)
      }
      if (config.method.toLowerCase() === 'put') {
        config.data = Qs.stringify(config.data)
      }
      if (config.method.toLowerCase() === 'delete') {
        config.data = Qs.stringify(config.data)
      }
      return config;
    }, function (error) {
      return Promise.reject(error);
    });
    //响应之后的配置
    axios.interceptors.response.use(function (response) {
      return response;
    }, function (error) {
      console.log(error);
      return Promise.reject(error);
    });
    export default axios;
    
    
    

    在开发时,启动项目都没问题:

    npm i
    
    npm run dev
    
    

    打包编译也没问题:

    npm run build
    
    

    但是把它放到nginx下,访问时却报错:

    2、解决

    问题就出在 http.js这个工具类里面,只需更改一下生产环境后端接口的地址即可:

    也就是: axios.defaults.baseURL = 'http://xxx.xxx.xx.xxx:8080/'; 这一行,换成自己的地址即可。

  • 相关阅读:
    小素典会员订阅协议
    vue项目自动构建工具1.0,支持多页面构建
    spring boot 框架根據 sql 創建語句自動生成 MVC層類代碼
    使用 docsify 創建自己的 markdown 文檔系統
    “衣”及其部分屬字
    js原型鏈與js繼承解析
    js 中怎么获取session 值和HTML标签的属性值
    layui table动态表头 改变表格头部 重新加载表格的方法
    throw throws Throwable 关联于区别
    静态代理和动态代理的区别和联系
  • 原文地址:https://www.cnblogs.com/zhaoxxnbsp/p/12909545.html
Copyright © 2020-2023  润新知