我已经有将近2天的问题了,任何帮助都会挽救生命。
我的vue应用程序在8080开发人员模式下运行,并且我尝试集成块堆栈登录,并且该应用程序尝试读取http://localhost/manifest.json,因此我将其放置在静态目录中,但是这会引发cors错误,请执行我们有针对vue cli配置(例如vue.config.js)的解决方案吗?
答案 0 :(得分:1)
在这种情况下,“正确答案”实际上无济于事。
Blockstack必须能够访问manifest.json文件(在本例中为localhost:8080 / manifest.json)。当服务器不支持CORS时,Blockstack会抛出错误。
OP询问的是如何使“ vue-cli-service服务”允许COR请求发生。为此,我们需要修改Webpack的dev服务器以允许CORS请求。
添加vue.config.js
(如果尚不存在)
module.exports = {
configureWebpack: {
devServer: {
headers: { "Access-Control-Allow-Origin": "*" }
}
}
};
答案 1 :(得分:0)
CORS错误意味着您正在尝试从非请求源的域中检索某些内容。如果您的应用程序在端口8080上运行,则希望它尝试从localhost:8080/manifest.json
而不是localhost/manifest.json
检索manifest.json文件。听起来好像您没有端口就已经以某种方式对主机名进行了硬编码。考虑使用相对于主根的网址(例如/manifest.json
)。
在任何情况下,只能通过匹配源域和目标域或通过让服务器返回正确的Access-Control-Allow-Origin标头来解决CORS错误。作为前端,Vue对此无能为力。
答案 2 :(得分:0)
我遇到了和你一样的问题。我应用了 vue-js 的文档所说的将一些代码放入 vue.config.js 中
module.exports = {
devServer: {
proxy: 'http://localhost:4000'
}
}
但这无济于事。请参阅此文档 https://cli.vuejs.org/config/#devserver 。 我在 laravel 中有单独的后端,我在 vue-js 中允许 cors 浪费了太多时间之后做了什么,我在我的后端 index.php 文件中应用了 cors,这就像一个魅力。 问题是你真的不知道它是从哪里来的,但同时看看前端和后端,然后试着在两边找到解决方案。