当前位置:网站首页 > Vue.js开发 > 正文

配置项目(一)——vue.config.js

配置项目——vue.config.js

第一步:查看接口文档的字段和端口号

第二步:在vue.config.js中,proxy里面定义

自定义名字/devStatusApi、target地址、pathRewrite同名字

第三步:在文件src/api/serviceConfig.js中,配置和导出devStatusApi

let devStatusApi, if (process.env.NODE_ENV === 'development'){ 
    devStatusApi = '/devStatusApi', }else{ 
    devStatusApi = '/192.168.105.66:9091', } export { 
   devStatusApi } 

第四步:新建文件src/api/operationalData/devStatusApi.js文件,配置接口字段 /devopes/v1/Computer

import request from 'service'; import { 
    devStatusApi } from 'serviceConfig'; export default { 
    // 获取计算机信息 getAllComputer(props) { 
    return request.get(`${ 
     devStatusApi}/devopes/v1/Computer`) }, // 启动计算机 startComputer(props) { 
    return request.put(`${ 
     devStatusApi}/devopes/v1/StartComputer/${ 
     props.id}`) }, // 关闭计算机 ShutdownComputer(props) { 
    return request.put(`${ 
     devStatusApi}/devopes/v1/ShutdownComputer/${ 
     props.id}`) }, // 重启计算机 RebootComputer(props) { 
    return request.put(`${ 
     devStatusApi}/devopes/v1/RebootComputer/${ 
     props.id}`) }, // 启动软件 StartSoftware(props) { 
    // return request.put(`${devStatusApi}/devopes/v1/StartSoftware/${props.id}/${props.ids}`) return request.put(`${ 
     devStatusApi}/devopes/v1/StartSoftware/${ 
     props.id}`, props.data) }, // 关闭软件 CloseSoftware(props) { 
    return request.put(`${ 
     devStatusApi}/devopes/v1/CloseSoftware/${ 
     props.id}/${ 
     props.ids}`, props.data) }, // 重启软件 RestartSoftware(props) { 
    return request.put(`${ 
     devStatusApi}/devopes/v1/RestartSoftware/${ 
     props.id}/${ 
     props.ids}`, props.data) }, // 部署软件 deploymentSoft(props) { 
    return request.put(`${ 
     devStatusApi}/devopes/v1/DeploySoftware/${ 
     props.id}`, props.data) }, // deploymentSoft(id, props) { 
    // console.log(id) // console.log(id.id) // return request.put(`${devStatusApi}/devopes/v1/DeploySoftware/${id.id}`, props) // } } 
附:接口文档
接口-获取计算机信息
url devops/v1/computer 方法 GET 输入 无 输出 所有计算机信息 { 
    code : 200, msg : "获取成功", data : [ { 
    id : , name : "电脑", user : "administrator", description : "XXX电脑", ip : "127.0.0.1", osType : "Windows", osVer : "Win7", totalMemory : , /*单位MB*/ cpuUsage : 0.95, memoryUsage :  /*单位MB*/ }, { 
    id : , name : "电脑", user : "administrator", description : "XXX电脑", ip : "127.0.0.1", osType : "MAC OS", osVer : "mac os 11", totalMemory : , /*单位MB*/ cpuUsage : 0.95, memoryUsage :  /*单位MB*/ } ] } 
接口-启动计算机
url devops/v1/startcomputer/:computerId 方法 PUT 输入 计算机id 输出 结果 { 
    code : 200, msg : "启动成功", data : { 
    } } 
接口-启动软件
url devopes/v1/StartSoftware/:computerId 方法 PUT 输入 计算机id { 
    name:"XX软件", launcharPath:"XSIMd.exe", // 启动参路径 launcharParam: "-config config/AFSeatintegrationPlugin.config -appname '席位集成后台'", // 启动参数 processName:"XSIMd.exe" // 进程名称 } 输出 结果 { 
    code : 200, msg : "启动成功", data : { 
    } } 
接口-关闭软件
url devopes/v1/CloseSoftware/:computerId/:softwareId 方法 PUT 输入 计算机id { 
    name:"XX软件", launcharPath:"XSIMd.exe", launcharParam: "-config config/AFSeatintegrationPlugin.config -appname '席位集成后台'", processName:"XSIMd.exe" } 输出 结果 { 
    code : 200, msg : "关闭成功", data : { 
    } } 
1.0、get请求方式

第五步:在inde.vue界面中进行使用

import devStatusApi from "api/operationalData/devStatusApi" let { 
   getAllComputer} = devStatusApi 

第六步:在methods中定义接口使用方法getAllComputer()

getAllComputerInfo(){ 
    getAllComputer().then((res)=>{ 
    console.log(res) }) } 

第七步:在created里进行调用

created(){ 
    this.getAllComputerInfo() } 
1.1.1、put请求方式-1个参数id

第一步:查看接口文档的字段和端口号
第二步:在vue.config.js中,proxy里面定义
自定义名字/devStatusApi、target地址、pathRewrite同名字
第三步:在serviceConfig.js配置和导出devStatusApi

以上相同
第四步:新建devStatusApi.js文件配置接口字段 /devopes/v1/StartComputer/😒{props.id}
第五步:在inde.vue界面中进行使用

import devStatusApi from "api/operationalData/devStatusApi" let { 
   startComputer,ShutdownComputer} = devStatusApi 

第六步:在methods中定义接口使用方法onComputer()

 // // 启动计算机 // onComputer() { 
    // startComputer({ id: "16" }).then((res) => { 
    // console.log(res); // }); // }, 

第六步:在methods中定义接口使用方法

<div @click="of(scope.row.id)"></div> 

方法

// 关机 off(scope){ 
    this.offComputer(scope) } // 关闭计算机 offComputer(scope) { 
    ShutdownComputer({ 
    id: scope }).then((res) => { 
    console.log(res); }); }, 

第七步:在created里进行调用

 this.offComputer(scope) 
1.1.2、put请求方式-2个参数id
 // 关闭软件 CloseSoftware(props) { 
    return request.put(`${ 
     devStatusApi}/devopes/v1/CloseSoftware/${ 
     props.id}/${ 
     props.ids}`, props.data) }, 

第五步:在inde.vue界面中进行使用

import devStatusApi from "api/operationalData/devStatusApi" let { 
   CloseSoftware} = devStatusApi 

第六步:在methods中定义接口使用方法offSoftware()

 // 关闭软件 offSoftware() { 
    CloseSoftware({ 
    id: "28", ids: "281" }).then((res) => { 
    console.log(res); }); }, 

第七步:在created里进行调用

this.offSoftware() 
1.1.3、put请求方式-1个参数id和一个对象data
 // 部署软件 deploymentSoft(props) { 
    return request.put(`${ 
     devStatusApi}/devopes/v1/DeploySoftware/${ 
     props.id}`, props.data) }, // deploymentSoft(id, props) { 
    // console.log(id) // console.log(id.id) // return request.put(`${devStatusApi}/devopes/v1/DeploySoftware/${id.id}`, props) // } 
方式1-对话框中使用

第五步:在inde.vue界面中进行使用

import devStatusApi from "api/operationalData/devStatusApi" let { 
    deploymentSoft } = devStatusApi 

第六步:在methods中定义接口使用方法handSoft()

handSoft(){ 
    const seatRunRes = deploymentSoft({ 
    id:this.id, data:this.multipleSelection, }); // const seatRunRes = await deloymentSoft({id:this.id,data:[{name:"华夏",tag:123},{name:"中华",tag:456}]}); // const seatRunRes = await deloymentSoft({id:123},[{name:"华夏",tag:123},{name:"中华",tag:456}]); console.log(seatRunRes); this.dialogVisible = false; return seatRunRes; } 
方式2-点击按钮使用

第五步:在inde.vue界面中进行使用

import devStatusApi from "api/operationalData/devStatusApi" let { 
    StartSoftware } = devStatusApi 

第六步:在methods中定义接口使用方法

<div @click="open(scope.row)"></div> 

方法

// 启动 open(scope){ 
    // console.log(scope,"") // StartSoftware({id:scope.ids}).then((res)=>{ 
    // console.log(res) // }); this.onSoft(scope); }, //启动软件 onSoft(scope){ 
    const seatRunRes = StartSoftware({ 
    id:scope.ids, data:{ 
    // name:"XXX软件", // launcherPath:"XSIMd.exe", // launcherParam:"-name '名字'", // processName:"XSI.exe" name:scope.showName, launcherPath:scope.launcherPath, launcherParam:scope.launcherParam, processName:scope.processName, }, }); return seatRunRes } // 使用数据 this.seatRunData = [...seatRunRes.obj]; 
1.1.4、put请求方式-2个参数id和一个对象data
 // 重启软件 RestartSoftware(props) { 
    return request.put(`${ 
     devStatusApi}/devopes/v1/RestartSoftware/${ 
     props.id}/${ 
     props.ids}`, props.data) }, 

第五步:在inde.vue界面中进行使用

import devStatusApi from "api/operationalData/devStatusApi" let { 
    RestartSoftware } = devStatusApi 

第六步:在methods中定义接口使用方法

第六步:在methods中定义接口使用方法

<div @click="reset(scope.row)"></div> 

方法

// 软件重启 reset(scope){ 
    // console.log(scope,"") // onRestartSoftware({id:scope.ids}).then((res)=>{ 
    // console.log(res) // }); // onRestartSoftware({id:"27",ids:"271"}).then((res)=>{ 
    // console.log(res) // }); this.onRestartSoftware(scope); }, //重启软件 onRestartSoftware(scope){ 
    const seatRunRes = RestartSoftware({ 
    id:scope.computerID, ids:scope.id, data:{ 
    // name:"XXX软件", // launcherPath:"XSIMd.exe", // launcherParam:"-name '名字'", // processName:"XSI.exe" name:scope.showName, launcherPath:scope.launcherPath, launcherParam:scope.launcherParam, processName:scope.processName, }, }); return seatRunRes } // 使用数据 this.seatRunData = [...seatRunRes.obj]; 
2.0、post请求方式

第一步:查看接口文档的字段和端口号

第二步:在vue.config.js中,proxy里面定义

自定义名字/api、target地址、pathRewrite同名字

proxy:{ 
    '/api':{ 
    target:"http://172.18.67.220:80/xsim/v1", changOrigin:true, pathRewrite:{ 
    '^/api':'/' } }, '/seatapi':{ 
    target:"http://182.19.67.220:80/xsim/v1", changOrigin:true, pathRewrite:{ 
    '^/seatapi':'/' } } } 

第三步:在文件src/api/serviceConfig.js中,配置和导出api

let api,seatapi if (process.env.NODE_ENV === 'development'){ 
    api = '/devApi'; seatapi = '/seatapi' }else{ 
    api = '/192.168.105.66:8091'; seatapi = '/192.168.105.66:8091'; } export { 
   api,seatapi } 

第四步:新建文件src/api/operationalData/appUpDataApi.js文件,配置接口字段 mplan/selectSeatDataList

import request from 'service'; import { 
    seatapi, api } from 'serviceConfig'; export default { 
    seatRunInfoList(props) { 
    //席位运行信息列表 return request.post(`${ 
     api}/mplan/selectSeatDataList`,props) }, byIdSearchScheme(id){ 
    // 查询席位方案信息 return request.get(`${ 
     seatapi}/seatscheme/getSeatSchemeById?id=${ 
     id}`) }, getPackage(pageNum){ 
    return request.get(`${ 
     api}/msoftware/packageGet?pageNum=${ 
     pageNum}&pageSize=10`) } } 

第五步:在inde.vue界面中进行使用

import devStatusApi from "api/operationalData/devStatusApi" let { 
    seatRunInfoList } = api; 

接口格式-java-api

在这里插入图片描述

第六步:在methods中定义接口使用方法getSeatRunList()

 async getSeatRunList({ 
    roomIds = "", typeIds = "", // cf1b8bf0-d796-4b01-8ed4-c8060c } = { 
   }) { 
    try { 
    const seatRunRes = await seatRunInfoList( this.$qs.stringify({ 
    roomIds: roomIds, typeIds: typeIds, }) ); let seatRunData = []; this.seatRunData = [...seatRunRes.obj]; }catch (err) { 
    console.log(err); } }, 

第七步:在created里进行调用

 await this.getSeatRunList(); 
2.1、post请求方式-须引入

第一步:在src/api/serviceConfig.js中进行定义和导出

let api,seatapi if(process.env.NODE_ENV == "development"){ 
    //配置开发环境 两个端口,两个IP api = "/api"; seatapi = "/seatapi"; }else{ 
    //协商 api = "http://192.168.70.75:8096/"; seatapi = "http://192.168.70.75:8097/"; } export{ 
   api,seatapi} 

第二步:在src/api/operationalData/appUpDataApi.js中进行定义

import request from "service"; import { 
   seatapi,api} from "serviceConfig"; export default { 
    seatRunInfoList(props){ 
    //席位运行信息列表 return request.post(`${ 
     api}/mplan/seatRunInfoList`,props) }, byIdSearchScheme(id){ 
    //查询席位方案信息 return request.get(`${ 
     seatapi}/seatscheme/getSeatSchemeById?id=${ 
     id}`) } } 

第三步:在src/api/operationalData/msoftwareApi.js中进行定义

export default class MsoftwareApi{ 
    //获取席位类型 seatType(params){ 
    return service({ 
    url:`${ 
     api}/msoftware/seatType`, method:"get", params }) }; //获取席位运行列表 seatRun(data){ 
    return service({ 
    url:`${ 
     api}/mplan/seatRun`, method:"post", data }) }; } 

第四步:在src/views/maintenance/swUpdate/index.vue中进行引入

import MsoftwareApi from "api/operationalData/msoftwareApi.js"; import api from "api/operationalData/appUpDataApi" let { 
   seatRunInfoList} = api; // 重新定义接口参数 const { 
   seatType} = new MsoftwareApi(); 

方法中使用

 //获取席位运行信息列表 async getSeatRun({ 
    roomIds = "", typeIds = "" } = { 
   }) { 
    try { 
    const seatRunRes = await seatRun( this.$qs.stringify({ 
    roomIds, typeIds }) ); this.tableData = seatRunRes.obj; return seatRunRes.obj; } catch (err) { 
    console.log(err); } }, 

调用

 //1、获取席位列表 this.getSeatRun(); //2、调用获取列表的方法 this.getSeatRun({ 
    roomIds: roomIds.join(), typeIds: seatIds.join() }); //3、定义获取的数据 const seatRunRes = await this.getSeatRun({ 
    typeIds: data.id }); return seatRunRes; 
3.0、delete请求方式

1、新建文件src/api/basicData/copy.js文件,配置接口字段 mplan/selectSeatDataList

import axios from 'axios' import request from 'service'; // 查询字典类型列表 export function listType(query) { 
    console.log(query) return request({ 
    url: mirrorApi+'/docker/queryByName', method: 'get', params: query }) } // 修改字典类型 export function updateType(data) { 
    return request({ 
    url: mirrorApi+'/system/dict/type', method: 'put', data: data }) } // 删除字典类型 export function delType(dictId) { 
    return request({ 
    url: mirrorApi+'/system/dict/type/' + dictId, method: 'delete' }) } // 清理参数缓存 export function clearCache() { 
    return request({ 
    url: mirrorApi+'/system/dict/type/clearCache', method: 'delete' }) } 

2、在index.vue文件中

methods:{ 
    deleteType(){ 
    //删除类型 this.$https.delete("deleteType",{ 
    params:{ 
   id:this.selectId} }).then((res)=>{ 
    console.log(res) }) .catch(()=>{ 
    this.$message({ 
    type:"warning", message:"已取消删除" }) }) } } 

备注

webpack 相关简单的配置方式

官网地址——webpack 相关简单的配置方式

如果你需要基于环境有条件地配置行为,或者想要直接修改配置,那就换成一个函数 (该函数会在环境变量被设置之后懒执行)。该方法的第一个参数会收到已经解析好的配置。在函数内,你可以直接修改配置,或者返回一个将会被合并的对象:

// vue.config.js module.exports = { 
    configureWebpack: config => { 
    if (process.env.NODE_ENV === 'production') { 
    // 为生产环境修改配置... } else { 
    // 为开发环境修改配置... } } } 

实例

module.exports = { 
    chainWebpack: config => { 
    // 发布模式 config.when(process.env.NODE_ENV === 'production', config => { 
    config.entry('app').clear().add('./src/main-prod.js') }) // 开发模式 config.when(process.env.NODE_ENV === 'development', config => { 
    config.entry('app').clear().add('./src/main-dev.js') }) } } 
链式操作 (高级)

详细版-参见——https://www.jianshu.com/p/2dd

Vue CLI 内部的 webpack 配置是通过 webpack-chain 维护的。这个库提供了一个 webpack 原始配置的上层抽象,使其可以定义具名的 loader 规则和具名插件,并有机会在后期进入这些规则并对它们的选项进行修改。

修改 Loader 选项
// vue.config.js module.exports = { 
    chainWebpack: config => { 
    config.module .rule('vue') .use('vue-loader') .tap(options => { 
    // 修改它的选项... return options }) } } 
设置别名
const path = require("path"); function resolve(dir) { 
    return path.join(__dirname, dir); } module.exports = { 
    chainWebpack: config => { 
    config.resolve.alias .set("@$", resolve("src")) .set("assets", resolve("src/assets")) .set("components", resolve("src/components")) .set("layout", resolve("src/layout")) .set("base", resolve("src/base")) .set("static", resolve("src/static")) .delete("base"); // 删掉指定的别名 // .clear() 会把全部别名都删掉 } }; 
删除插件
module.exports = { 
    chainWebpack: config => { 
    config.plugins.delete("prefetch"); // 移除 preload 插件 config.plugins.delete("preload"); } }; 
有前后顺序的插件

1

// A插件之前要调用B插件; config .plugin(name) .before(otherName) module.exports = { 
    chainWebpack: config => { 
    config .plugin("b") .use(B) .end() .plugin("a") .use(A) .before(B); } }; 

2

// A插件之后要调用B插件; config.plugin(name).after(otherName); module.exports = { 
    chainWebpack: config => { 
    config .plugin("a") .after("b") .use(A) .end() .plugin("b") .use(B); } }; 

se", resolve(“src/base”))
.set(“static”, resolve(“src/static”))
.delete(“base”); // 删掉指定的别名
// .clear() 会把全部别名都删掉
}
};

 删除插件 ```js module.exports = { chainWebpack: config => { config.plugins.delete("prefetch"); // 移除 preload 插件 config.plugins.delete("preload"); } }; 
有前后顺序的插件

1

// A插件之前要调用B插件; config .plugin(name) .before(otherName) module.exports = { 
    chainWebpack: config => { 
    config .plugin("b") .use(B) .end() .plugin("a") .use(A) .before(B); } }; 

2

// A插件之后要调用B插件; config.plugin(name).after(otherName); module.exports = { 
    chainWebpack: config => { 
    config .plugin("a") .after("b") .use(A) .end() .plugin("b") .use(B); } }; 
到此这篇配置项目(一)——vue.config.js的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • vue中配置axios教程-定稿版(一)——api index.js配置文件和.env文件2024-11-30 19:54:07
  • vue自定义指令2024-11-30 19:54:07
  • VUE中,el-select选择器多选下拉框实现全选功能和取消全选2024-11-30 19:54:07
  • vue中使用图像编辑器tui-image-editor(三)——示例之详细注释和组件化.md2024-11-30 19:54:07
  • vue3中,封装dialog组件,实现页面级一级弹框、二级弹框和三级弹框(一)——一级弹框 & 封装关闭按钮 & 全局定义和引入公共样式 & 页面@import引入自定义样式2024-11-30 19:54:07
  • vue中配置axios教程-定稿版(三)——页面index.vue中引入和使用接口文件,network查看请求和响应2024-11-30 19:54:07
  • vue项目路由跳转后上一页面未完成的接口取消2024-11-30 19:54:07
  • vue-template-admin的keep-alive缓存与移除缓存2024-11-30 19:54:07
  • vue3下watch的使用2024-11-30 19:54:07
  • vue3中获取dom元素和操作2024-11-30 19:54:07
  • 全屏图片