项目结构

在这里插入图片描述

config.js

const application = require('../../config/application.json');
const private_config = require(`../../config/application-${application.active}.json`);
const global = require("./global.js")
let result = {};
result = Object.assign({}, application, private_config,global)
module.exports = result

通过修改application.json的active参数,获取对应的生效的application-xx.json文件,通过 Object.assign()对当前生效的配置文件以及配置的global.js的全局变量一起合并
然后把config.js引入main.js

application.json

{
  "appId": "",
  "active":"dev",
  "#active": "dev:开发,pro:生产,local:本地",
  "version":"1.0",
  "name": "project"
}

注意修改active的值

global.js

module.exports = {
    timeout:3000
}

main.js

import { createApp } from 'vue'
import router from './route'
import App from './App.vue'
import Global from "./api/config.js"
import "./assets/css/base.css"
import { ElLoading,ElMessage,ElMessageBox } from 'element-plus'
import 'element-plus/dist/index.css'
import Config from "./api/config";
const app = createApp(App)
app.use(router).use(ElLoading).use(ElMessage).use(ElMessageBox).mount('#app')
app.config.globalProperties.$_concatPath=function(path){
    return Config.context+path
}
app.config.globalProperties.$_global=Global
import Global from "./api/config.js"

这里是已经将合并的变量放在一起了,引入使用
使用这段代码注册成全局变量

app.config.globalProperties.$_concatPath=function(path){
    return Config.context+path
}
app.config.globalProperties.$_global=Global
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐