美文网首页
webpack 多人开发个人代理及域名配置

webpack 多人开发个人代理及域名配置

作者: 我讲你思 | 来源:发表于2019-09-29 20:52 被阅读0次

webpack 多人开发 个人代理及域名配置

当多人协作开发时,尤其是多个前端,多个后端同时开发,每个人的webpack配置(接口、域名、端口、代理等)都是不同的,就会造成每个人的开发变得很不很不方便:

  1. git拉取或提交时总会造成冲突,每次都需要修改config文件夹下的index.js文件
  2. git拉取后每次启动项目,都需要将webpack修改成自己的配置,贼麻烦。

解决办法:

首先在config文件夹下新建文件personal.config.js

image.png

上代码:




/*
可根据本机特征来自动获取相应的配置

1.电脑主机名 @os.hostname()
2.电脑类型 @os.type()
3.本机ip  @IPv4

*******20200807*******
配置文件优化了一下,没有的自己添加下, 有错误的自己修改下;

*/



const os = require('os')
const personalConfig = {

    hostname: os.hostname(),

    default() {
        return {
            username: 'default',
            target: 'https://www.****.xyz/',
            host: 'localhost',
        }
    },


    'xzjMacBook-Pro.local'() {
        return {
            username: 'xzj',
            target: 'https://www.****.xyz/',
            host: this.getHost(), // can be overwritten by process.env.HOST。。。
        }
    },

    'dxs'() {
        return {
            username: 'dxs',
            target: 'https://www.***.com.cn/',
            host: this.getHost(), // can be overwritten by process.env.HOST。。。
        }
        
    },

    'gy'() {
        return {
            username: 'gy',
            target: 'https://www.****.xyz/',
            host: this.getHost(), // can be overwritten by process.env.HOST
        }
    },

    'dakache'() {
        return {
            target: 'http://www.****.xyz/',
            host: this.getHost(), // can be overwritten by process.env.HOST
        }
    },
    ssm() {
        return {
            target: 'https://www.****.xyz/',
            host: this.getHost(), // can be overwritten by process.env.HOST。。。
        }
    },

    'Asus'() {
        return {
            username: 'llg',
            // target: 'http://www.***.xyz/',
            host: this.getHost() // can be overwritten by process.env.HOST
        }
    },

    'MacBook-Pro.local'() {
        return {
            username: 'zy',
            target: 'https://www.****.xyz/',
            host: this.getHost(), // can be overwritten by process.env.HOST。。。
        }
    },

    getConfig() {
        return this[this.hostname] && this[this.hostname]() || this['default']()
    },
    
    getHost() {
        const interfaces = os.networkInterfaces();
        for(let devName in interfaces){
            const interface = interfaces[devName];
            for(let i=0; i < interface.length; i++){
                const alias = interface[i];
                if(alias.family === 'IPv4' && alias.address !== '127.0.0.1' && !alias.internal){
                    return alias.address;
                }
            }
        }
    }
}

module.exports = personalConfig


然后在config文件夹下的index.js中引入并配置

image.png

每个人只需要改自己的配置就行了,项目从git上拉下来,直接就可以运行,不需要每次改成自己的配置了

相关文章

  • webpack 多人开发个人代理及域名配置

    webpack 多人开发 个人代理及域名配置 当多人协作开发时,尤其是多个前端,多个后端同时开发,每个人的web...

  • 项目配置多个服务解决多个跨域问题

    在webpack配置反向代理的时候,我们可以配置多个代理解决本地跨多个域名的问题 请求的时候要区分本地还是先上

  • 进行开发

    3.1 开发前的准备 http请求、响应拦截(编写js文件) 防止跨域配置(webpack配置???) 域名、版本...

  • webpack开发配置API代理解决跨域问题-devServer

    1. 一个完整的webpack配置代理代码 设置代理的前提条件:1、需要使用本地开发插件:webpack-dev-...

  • webpack配置proxyTable时pathRewrite无

    webpack配置接口地址代理 在项目开发中,接口联调的时候一般都是同域名下,且不存在跨域的情况下进行接口联调,但...

  • 记录Nginx反向代理常用配置

    Nginx 代理 websocket 关键配置 Nginx 代理 https关键配置 子域名泛代理关键配置 允许跨...

  • webpack定义环境变量

    需求:我们在开发环境当中需要设置本地环境的域名,生产环境需要设置服务器的域名,这时我们可以利用webpack配置环...

  • Nginx 运维之域名验证

    各公众平台在配置接口域名时会验证开发者对域名的配置权, 生成随机的文本及字符串,让放置在域名根目录可以通过域名直接...

  • webpack配置proxy转发404

    webpack开发环境处理跨域的方法就是配置devServer的proxy,在服务器接口的nginx根据域名有多个...

  • 绑定代理proxy

    目的: 想要使用proxy代理方式,实现跨域访问,开发 官网方法: proxy 配置 webpack-dev-se...

网友评论

      本文标题:webpack 多人开发个人代理及域名配置

      本文链接:https://www.haomeiwen.com/subject/gzzxuctx.html