关键词搜索

源码搜索 ×
×

vue.config.js中的devServer

发布2022-08-10浏览7727次

详情内容

真能扯啊。

按照我的经历,我认为学习vue一个障碍和困难,是不容易了解它整个项目结构。*.vue本身的内容较容易掌握,但更大的方面,比如它整个项目的运行机制,路由,配置,就比较讳莫如深了。资料很少,说的人也是不知从哪里抄的,没有说清楚。对于像我这样普通的开发者来说,让我不用啥框架,直接用空白项目捣鼓出一个看得过去的前端,我会感到困难重重,这也不知,那也不懂,无从下手。这其中,就包括这个vue.config.js。

vue.config.js,就是vue项目的配置文件咯。一度传闻vue3创建项目时,默认是不提供这个文件,要用的话只能自己手动创建。但一旦创建,vue又会自动地优先使用其中的配置。这给人一种很扯的感觉。不过,不久前我创建vue3项目,里面是有vue.config.js的。其实,vue也没有什么好神秘的,它就是一个巨大的语法糖,或者解释器。虽然它创建了这样那样的书写结构,但最终是要编译成原始的js。你看vue3的语法,我感觉并不比vue2更高明,反而有种累赘和啰嗦的感觉,估计VUE4还要来个大改,折腾不止,至死方休。

说回vue.config.js。vue.config.js里面,同样有许多神秘的咒语。不过后来逐渐有了一些发现。下面这段代码就摘自我们之前一个vue项目的vue.config.js。

module.exports = {
  devServer: {
    port: 8090, // 端口号,如果端口号被占用,会自动加1
    host: '0.0.0.0',// 主机名, 127.0.0.1,  真机 0.0.0.0
    https: false, //协议
    open: false, //启动服务时自动打开浏览器访问
    disableHostCheck: true,
    proxy: {
      '/api':{
        target:PROXY_API_BASE_URL,
        pathRewrite:{
          "^/api":""
        }
      },
      '/webapps':{
        target:PROXY_BASE_URL,
        pathRewrite:{
          "^/webapps":"/webapps"
        }
      },
      '/javapubzy':{
        target:PROXY_BASE_URL,
        pathRewrite:{
          "^/javapubzy":"/javapubzy"
        }
      },
      '/arcgis':{
        target:PROXY_BASE_URL,
        pathRewrite:{
          "^/arcgis":"/arcgis"
        }
      }
    }
  },
  。。。
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36

代码中,devServer算是系统的保留字,用来配置我们的开发环境,从名字也能看出来。所以,别看它里面写了这么多,又是端口,又是代理,让人一看就头大,其实只是用于我们本机开发和调试。一旦发布和打包,就与它无关了。我们将发布包部署到nginx,端口和转发,就遵循nginx的设置:

http {
    include       mime.types;
    default_type  application/octet-stream;	
    sendfile        on;

	server {
	    listen       8081;
        server_name  192.168.10.8;

		location / {
			root   E:/code/web/dist;		
			index  index.html;
			try_files $uri $uri/ /index.html;
		}

		location /api/ {
			proxy_pass http://192.168.10.9:8090/;#必须斜杠/结尾
			proxy_set_header   X-Forwarded-Proto $scheme;
			proxy_set_header   Host              $http_host;
			proxy_set_header   X-Real-IP         $remote_addr;
		}

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
	}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28

咦,孰为汝多知乎。

相关技术文章

点击QQ咨询
开通会员
返回顶部
×
微信扫码支付
微信扫码支付
确定支付下载
请使用微信描二维码支付
×

提示信息

×

选择支付方式

  • 微信支付
  • 支付宝付款
确定支付下载