错误截图:
错误代码:
问题解析:
这段代码在原先的vue项目中是没有问题的,copy到electron-vue项目之后,不明所以的报错。删掉lang="html"就可以正常运行了。至于原因,猜测vue项目和electron-vue项目中对于.vue文件的编译方式不同。待学习。
2. 遇到开发环境跨域问题,如何转发代理
在vue-cli项目中,处理开发环境的跨域问题,只需在config/index.js文件中配置proxyTable。大概长这样,(省略了不必要的参数),将我们项目中的接口请求转发到目标接口
dev: {
proxyTable: {
‘/**/*’: {
target: ‘http://192.168.1.1:8080/’, // 目标接口域名
changeOrigin: true // 是否跨域
}
}
}
在electron-vue项目中,并没有配置转发代理的地方,这就需要我们自己来解决跨域问题啦!
跨域问题出现的本质原因是浏览器的同源策略,注意是浏览器哦。只要绕过浏览器的限制(伪装成同源,欺骗浏览器)就能解决跨域啦,当然前提是服务器端允许跨域请求。
方法一:手动设置headers,以axios为例,将referer和host参数设置为,与后台接口一样的地址
axios.get(url, {
headers: {
referer: ‘https://c.y.qq.com/’, // 目标服务器地址
host: ‘c.y.qq.com’ // 目标服务器域名
},
params: req.query
}).then((response) => {
console.log(response)
}).catch((e) => {
console.log(e)
})
方法二:http-proxy-middleware中间件
既然vue-cli项目能够通过设置参数解决跨域问题,那我们就来倒推一下:
config/index.js <-- build/webpack.dev.conf.js <- build/dev-server.js
在build/dev-server.js文件中我们可以看到http-proxy-middleware中间件的使用,就是她啦。那么怎么在Electron-vue中使用呢?
找到.electron-vue/dev-runner.js文件,修改如下:
引入中间件
const httpProxyMiddleware = require(‘http-proxy-middleware’)
在server.listen(9080)之前加一段代码,如下:
server.use(httpProxyMiddleware({
target: ‘目标服务器地址’,
changeOrigin: true
}))
server.listen(9080)
1. 什么是Electron
==================
**Electron可以让你使用纯 JavaScript 调用丰富的原生 API 来创造桌面应用。**你可以把它看作是专注于桌面应用而不是 web 服务器的,io.js 的一个变体。
小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:前端)
最后:
总结来说,面试成功=基础知识+项目经验+表达技巧+运气。我们无法控制运气,但是我们可以在别的地方花更多时间,每个环节都提前做好准备。
面试一方面是为了找到工作,升职加薪,另一方面也是对于自我能力的考察。能够面试成功不仅仅是来自面试前的临时抱佛脚,更重要的是在平时学习和工作中不断积累和坚持,把每个知识点、每一次项目开发、每次遇到的难点知识,做好积累,实践和总结。
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
职加薪,另一方面也是对于自我能力的考察。能够面试成功不仅仅是来自面试前的临时抱佛脚,更重要的是在平时学习和工作中不断积累和坚持,把每个知识点、每一次项目开发、每次遇到的难点知识,做好积累,实践和总结。