vue.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript类库 > vue.js > vue.config.js中的devServer

vue.config.js中的devServer使用

作者:左直拳

这篇文章主要介绍了vue.config.js中的devServer使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

vue.config.js中的devServer

按照我的经历,我认为学习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"
        }
      }
    }
  },
  。。。
}

代码中,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;
        }
	}
}

咦,孰为汝多知乎。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文