首页 > 其他分享 >vue3 静态配置文件

vue3 静态配置文件

时间:2023-12-20 19:13:45浏览次数:24  
标签:vue 配置文件 静态 接口 js 地址 文件夹 vue3 config

前言

有时候我们负责做的只是一个大平台系统下的某个子系统,有时候我们需要调用这个大平台系统别的子系统接口

如果直接把别的接口地址,直接写在代码里,那么如果别的子系统的接口调整了,会影响到我们的系统,我们还要重新打包,部署,会很繁琐。

解决思路

我们的想法是这样:

  1. 敲代码的时候,如果要引用其他人或者第三方的接口,可以弄成一个配置文件
  2. 这个配置文件,在我们的vue项目打包之后,也是独立存在的,而不是和整个vue项目一起被打成一个团子了。 这样里面的配置要改什么的,就可以直接让运维人员直接改,只要不涉及需求的更改,功能的新增,修改,我们就可以解放了

解决过程

  1. 新建/打开 一个vue项目 image.png

  2. 打开public文件夹

image.png

我这个新建的vue项目里面没有static文件夹,那我新建一个,并在这个static文件夹里新建一个config.js文件

image.png

config.js中的内容如下:

  js 复制代码
// 要引用的 其他人 或者 第三方 的接口
window.server = {
  fileUploadUrl: "ip地址", // 开发环境接口地址
  // fileUploadUrl: "ip地址", // 测试环境接口地址
  // fileUploadUrl: "ip地址", // 正式环境接口地址
}
  1. index.html引入 刚刚创建的 config.js

image.png

  1. 引入config.js之后,在具体需要的模块中进行调用
  js 复制代码
     // 调用引入的地址
    console.log(window.server.fileUploadUrl);

image.png 5. 效果

image.png

补充:统一管理本项目配置的接口

  1. 像我们如果要跳转到别的页面,那么用上面的这种方式
  2. 但是我们做项目,前端后分离,当前项目配置的接口要用,我们一般这般操作

image.png

src/libs/index.js 中的内容:

  js 复制代码
const configAPI = {
  // xx模块1---接口1
  module_1_xxx1: '/LocalDemoApi/moduleApi/module_1/xxx.json', // 后端接口还没给出来之前,你也可以自己弄点json数据,模拟一下调接口的情况
  // xx模块1---接口2
  module_1_xxx2: '/api/moduleApi/module_1/xxxx', // 实际调用接口
  // xx模块2---接口1
  module_2_xxx1: '/api//moduleApi/module_2/xxxx', // 实际调用接口
  // ...
};
export default configAPI;

// 此处的接口 开头的 LocalDemoApi, api 都是vue.config.js中 devServer下的 proxy 中配置的

然后 main.js中引入 代码如下:

  js 复制代码
import configAPI from './libs/apis/index';
// 接口统一管理
Vue.prototype.$configAPI = configAPI;

然后是配置到vue项目中,

image.png

vue.config.js文件如下:

  js 复制代码
const path = require("path");

const webpack = require('webpack');

function resolve(dir) {
  return path.join(__dirname, dir);
}

module.exports = {
  // 打包后运行环境目录
  publicPath: process.env.NODE_ENV === "production" ? "/xxxProject/" : "/",

  lintOnSave: true, // eslint-loader 是否在保存的时候检查
  productionSourceMap: false, // 生产环境是否生成 sourceMap 文件
  filenameHashing: true, // 文件hash
  devServer: {
    // port: 3306,
    open: true,
    proxy: {
      "/api": {
        // target: "http://192.168.xxx.xxx:xxxx/", //开发地质
        // target: "http://192.168.xx.xx:xxxx/", // 测试地址
        target: "http://xxx.xxx.xxx.x:xxxx/", // 正式服务器地址
        ws: true,
        changeOrigin: true,
        pathRewrite: {
        }
      },
      // 这里就是访问本地的模拟json数据了
      "/LocalDemoApi": {
        target: "http://localhost:8080", // 路径指向本地主机地址及端口号
        ws: true,
        changeOrigin: true,
        pathRewrite: {
          "^/LocalDemoApi": "/DemoData" // 路径转发代理
        }
      },
    }
  },

  chainWebpack: config => {
    // 配置import 和 require 等路径别名,webpack中是通过 resolve.alias 来实现此功能的,通过set方法添加修改想要的alias 配置
    config.resolve.alias
      .set("@", resolve("src"))
      .set("assets", resolve("src/assets"))
      .set("components", resolve("src/components"));
  },
};

重启下项目即可

DemoData 这个存放模拟json数据的目录 就是public中的DemoData文件夹(这个文件夹是我自己创建的,大家也可以取别的名字,只要这个名字你改变了, 那么 vue.config.js中的DemoData 也要改成相应的名字)

image.png

最后,你打包了,打包默认生成的文件夹是dist文件夹

image.png

所以,这个包要部署到服务器上生效,需要把这个 dist文件夹,改名为vue.config.js 中配置的 xxxProject 名字才能生效。

 

标签:vue,配置文件,静态,接口,js,地址,文件夹,vue3,config
From: https://www.cnblogs.com/hangun/p/17917273.html

相关文章

  • Vite4+Typescript+Vue3+Pinia 从零搭建(7) - request封装
    项目代码同步至码云weiz-vue3-template基于axios封装请求,支持多域名请求地址安装npmiaxios封装utils目录下新建request文件夹,并新建index.ts、request.ts和status.ts文件。1.status.ts文件主要是封装状态码exportconstErrMessage=(status:number|s......
  • VUE3学习基础之模板语法
    我的vue3学习之路总是学学停停,最开始在18年开发微信小程序,就发现小程序和vue的语法有些相似,然后就去看了vue2的文档,随后忙其它的事情就丢下了。直到22年又开始捡起来vue3,有了组合式api,语法简明很多,然后又不知道忙什么丢下。。。前段有些空时间,就把vue3的学习整理下,使用vite构建......
  • vue3学习笔记(四)
    表单输入绑定<!--文本(Text)--><inputv-model="message"placeholder="editme"/><p>Messageis:{{message}}</p><!--多行文本(Textarea)--><textareav-model="message"placeholder="addmultipl......
  • Vue - 复制静态文件到 build的文件夹中
    Vue-复制静态文件到build的文件夹中 环境:vue2框架前提:在根目录下放置了Dockerfile 文件,在build时需要自动复制到dist文件夹里面。 1. 安装 copy-webpack-plugin 插件  在vue.config.js中引入插件constCopyWebpackPlugin=require('copy-webpack-plugin');......
  • uniapp vue3版本的scroll-view的scroll-into-view方法不生效解决
    问题代码如图bug原因建了vue2版本和vue3版本的uniapp分别测试,vue3版本的scroll-view存在scroll-into-view不生效的问题,目前未修复(23.12.20)解决方法,换了个思路,如图思路:获取当前选中元素的left值,并动态绑定给scroll-left实现定位效果......
  • vue3 实现用户登录和权限验证思路梳理
    2023-12-20星期三一、用登录和退出问题1登录 思路一: 1.1login登录页面,将token存储本地中。 1.2前置路由守卫获取token并验证, 1.3前置路由从缓存中获取用户的访问权限,并生成动态路由。 1.4aixos请求拦截器,从存储中获取存储的token,在所有请求前,设置请求头 思......
  • Linux--VM设置静态IP--VM&XShell连接
     1.配置环境Linux:CentOS7远程:XShell7 2.设置①打开虚拟机登录 cd/-->ipaddr 输入:cd/etc/sysconfig/network-scripts回车输入:viifcfg-ens33 --->进入网卡配置文件(必须在左下角Insert模式时编写可直接按......
  • vue3全栈项目:具有登录注册验证的在线实时聊天应用程序。
     项目主要实现的功能:登录注册的身份验证功能(利用JWT)来实现,在与后端验证的时候,会根据不同的身份显示不同的界面;而且根据不同角色赋予不同的权力,如管理员能查看信息,而普通用户只能登录到公共组件——在线实时俩天应用程序。多人在线实时聊天功能——前后端之间根据WebSocket......
  • vue3如何实现断点续传
    首先创建一个vue3项目普通上传//template<inputtype="file"ref="uploadRef"@change="upload"/>//jssetupfunctionupload(event){letfiles=event.target.filesletformData=newFormData()formData.append("file",file......
  • Java Properties配置文件使用方法入门详解​
    JavaProperties配置文件使用方法详解使用配置文件的优点:好处1:可以把软件的设置永久化存储好处2:如果我们要修改参数,不需要改动代码,直接修改配置文件就可以了Properties配置文件文件后缀名为.properties,其内容是按键值对存储的。前面为键,后面为值。properties是一个双列集合,拥有Ma......