运行报错:
ERROR ValidationError: webpack Dev Server Invalid Options
options should NOT have additional properties
ValidationError: webpack Dev Server Invalid Options
百度了半天尝试了许多方法。。。最后发现是vue.config.js文件中的Proxy,P大写了,应该小写的,js区分大小写。
options should NOT have additional properties
在前端如何区分环境
1.用环境变量调用环境文件中的变量:
$ process.env.NODE_ENV # 当为production时为生产环境 为development时为开发环境
2.环境文件:
我们可以在.env.development和.env.production文件中定义变量VUE_APP_BASE_API
我理解的环境文件的记忆方法:env--environment
跨域问题
跨域问题是因为浏览器的同源策略(域名端口协议不一致)导致的。而跨域分为开发环境跨域(开发时)和生产环境跨域(上线时)。我们前端主要解决开发环境跨域问题。 在今天坐的人资项目中我用到了代理的方式来解决跨域。(vue-cli在本地开启的一个服务,通过这个服务可以发起代理请求)
//在vue.config.js中配置代理
module.exports = {
devServer: {
// 代理配置
proxy: {
// 这里的api 表示如果我们的请求地址有/api的时候,就出触发代理机制
// localhost:8888/api/abc => 代理给另一个服务器
// 本地的前端 =》 本地的后端 =》 代理我们向另一个服务器发请求 (行得通)
// 本地的前端 =》 另外一个服务器发请求 (跨域 行不通)
'/api': {
target: 'www.baidu.com', // 我们要代理的地址
changeOrigin: true, // 是否跨域 需要设置此值为true 才可以让本地服务代理我们发出请求
// 路径重写
pathRewrite: {
// 重新路由 localhost:8888/api/login => www.baidu.com/api/login
'^/api': '' // 假设我们想把 localhost:8888/api/login 变成www.baidu.com/login 就需要这么做
}
},
}
}
}